false jadvaldagi oddiy qiymat kabi ishlaydi, jadvaldagi nil esa mavjud bo’lmagan kalitni anglatadi.
Tur raqami ikkita kichik tipdan foydalangan holda butun son va haqiqiy (suzuvchi nuqta) raqamlarni ifodalaydi. Standart Lua 64-bitli razryadlar va ikki aniqlik (64-bit) haqiqiy sonlardan foydalanadi, lekin siz Lua-ni 32-bitli razryadlar va bitta aniqlik (32-bit) haqiqiy sonlardan foydalanadigan qilib kompilyatsiya qilishingiz mumkin. Butun sonlar va haqiqiy sonlar uchun 32 bitli variant, ayniqsa, kichik mashinalar va o'rnatilgan tizimlar uchun jozibador hisoblanadi.
Agar boshqacha ko'rsatilmagan bo'lsa, butun son qiymatlarini o'zgartirishda har qanday to'lib ketish odatiy ikki to'ldiruvchi arifmetika qoidalariga muvofiq o'raladi. (Boshqacha qilib aytganda, haqiqiy natija - bu matematik natijaga 2n moduliga teng bo'lgan yagona ifodalanadigan butun son, bu erda n - butun son tipidagi bitlar soni hisoblanadi.)
Lua har bir kichik turdan qachon foydalanilishi haqida aniq qoidalarga ega, lekin kerak bo'lganda ular o'rtasida avtomatik ravishda o'zgaradi va shu bilan bir qatorda Lua quyidagi aloqa operatorlarini qo'llab-quvvatlaydi:
==: tenglik
~=: tengsizlik
<: dan kam
>: katta
<=: oz yoki teng
>=: katta yoki teng. Shu sababli, dasturchi asosan butun sonlar va haqiqiy sonlar o'rtasidagi farqni e'tiborsiz qoldirishi yoki har bir raqamning tasvirini to'liq nazorat qilishni tanlashi mumkin.
Lua ham kodlovchi-agnostikdir. U satrning mazmuni haqida hech qanday taxmin qilmaydi. Luadagi har qanday satr uzunligi Lua butun soniga mos kelishi kerak.
Lua tilida yozilgan funksiyalarni bir vaqtning o’zida C++ tilida yozilgan funksiyalarni chaqirishi va manipulyatsiya qilishi mumkin. Har ikkisida ham tip funksiyasi bilan ifodalanadi.
Foydalanuvchi ma'lumotlari turidan qat’+iy nazar o'zboshimchalik bilan C++ ma'lumotlarini Lua o'zgaruvchilarida saqlashga ruxsat berish uchun taqdim etiladi. Foydalanuvchi ma'lumotlari qiymati xam xotira blokini ifodalaydi. Ikki xil foydalanuvchi ma'lumotlari mavjud ekanligini tekshiradi. To'liq foydalanuvchi ma'lumotlari, bu Lua tomonidan boshqariladigan xotira blokiga ega ob'ekt va yengil foydalanuvchi ma'lumotlari hisoblanadi, bu oddiygina C++ ko'rsatkichi qiymati deb atalishi mumkin. Foydalanuvchi ma'lumotlari Luada oldindan belgilangan operatsiyalarga ega emas, tayinlash va identifikatsiya testidan tashqari. Meta-jadvallardan foydalanib, dasturchi foydalanuvchi ma’lumotlarining to'liq qiymatlari uchun operatsiyalarni belgilashi mumkin. Lua'da foydalanuvchi ma'lumotlari qiymatlarini yaratish yoki o'zgartirish mumkin emas. Bu xos dasturi va C++ kutubxonalariga tegishli ma'lumotlarning yaxlitligini kafolatlaydi.
Mavzu turi ijro mustaqil mavzularni ifodalaydi va koroutinlarni amalga oshirish uchun ishlatiladi. Lua oqimlari operatsion tizim oqimlari bilan bog'liq emas. Lua barcha tizimlarda turdosh dasturlarni qo'llab-quvvatlaydi, hatto oldindan oqimlarni tabiiy ravishda qo'llab-quvvatlamaydiganlarini ham.
Turlar jadvali assotsiativ massivlarni, ya’ni indeks sifatida nafaqat raqamlar, balki nol va NaN(Raqam emas, IEEE 754 standarti tomonidan 0/0 kabi aniqlanmagan raqamli natijalarni ifodalash uchun ishlatiladigan maxsus suzuvchi nuqta qiymati)dan tashqari istalgan Lua qiymatiga ega bo'lishi mumkin bo'lgan massivlarni amalga oshiradi. Jadvallar bir xil bo'lishi mumkin, ya'ni ular barcha turdagi qiymatlarni o'z ichiga olishi mumkin (noldan tashqari). Nol qiymati bilan bog'langan har qanday kalit jadvalning bir qismi hisoblanmaydi. Aksincha, jadvalning bir qismi bo'lmagan har qanday kalit nol bilan bog'liq qiymatga ega.
Jadvallar Lua'da yagona ma'lumotlarni tuzilish mexanizmlaridan biri hisoblanadi. Ular oddiy massivlar, roʻyxatlar, belgilar jadvallari, toʻplamlar, yozuvlar, grafiklar, diogrammalar va hokazolarni koʻrsatish uchun ishlatilishi mumkin. Yozuvlarni koʻrsatish uchun Lua maydon nomidan indeks sifatida foydalanadi. Bu til nomlanishi ["nom"] uchun sintaktik shakl sifatida taqdim etish orqali qo'llab-quvvatlaydi. Luada jadvallar yaratishning bir necha qulay usullari mavjud.
Jadval konstruktorlari - bu jadvallarni yaratuvchi hisobida ifodalanadi. Har safar konstruktor baholanganda yangi jadval tuziladi. Konstruktordan bo'sh jadval yaratish yoki mavjud jadval yaratish va uning ba'zi maydonlarini ishga tushirish uchun foydalanish mumkin.
tableconstructor ::= ‘