Перейти к основному содержимому

Что важно учитывать при изучении 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).