Что важно учитывать при изучении Lua
- Индексация массивов начинается с 1 (в отличие от 0 в языках семейства C).
string.len возвращает число байтов строки, а не количество символов.
- Все неинициализированные переменные равны
nil. Присваивание nil значению в таблице удаляет это значение из таблицы.
- Логически ложными являются только
nil и false; все остальные значения, включая 0, логически истинны.
- При математических операциях и сравнении строки и числа преобразуются автоматически, например
a = '1' + 2.
- Для конкатенации строк используется оператор
.., например a = '1' .. 2.
- Два числа с плавающей точкой нельзя напрямую сравнивать с помощью
==. Пример неправильного использования: if 89.7 == (3 * 29.9) then.
- Число с плавающей точкой, которое точно представимо как целое, равно соответствующему целому (например,
1.0 == 1).