Lua - Типы данных
Lua - это язык с динамической типизацией, поэтому переменные не имеют типов, только значения имеют типы. Значения можно сохранять в переменных, передавать как параметры и возвращать как результаты.
В Lua, хотя у нас нет типов данных переменных, но у нас есть типы для значений. Список типов данных для значений приведен ниже.
| Старший Нет | Тип значения и описание | 
|---|---|
| 1 | nil Используется для отличия значения от наличия некоторых данных или отсутствия (нулевых) данных. | 
| 2 | boolean Включает в себя значения true и false. Обычно используется для проверки условий. | 
| 3 | number Представляет действительные числа (с плавающей запятой двойной точности). | 
| 4 | string Представляет массив символов. | 
| 5 | function Представляет метод, написанный на C или Lua. | 
| 6 | userdata Представляет произвольные данные C. | 
| 7 | thread Представляет независимые потоки выполнения и используется для реализации сопрограмм. | 
| 8 | table Представляет обычные массивы, таблицы символов, наборы, записи, графики, деревья и т. Д. И реализует ассоциативные массивы. Может содержать любое значение (кроме nil). | 
Тип Функция
В Lua есть функция под названием 'type', которая позволяет нам узнать тип переменной. Некоторые примеры приведены в следующем коде.
print(type("What is my type"))   --> string
t = 10
print(type(5.8*t))               --> number
print(type(true))                --> boolean
print(type(print))               --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> stringКогда вы создаете и выполняете указанную выше программу, она дает следующий результат в Linux:
string
number
boolean
function
nil
stringПо умолчанию все переменные будут указывать на ноль, пока им не будет присвоено значение или они не инициализируются. В Lua нулевые и пустые строки считаются истинными в случае проверки условий. Следовательно, вы должны быть осторожны при использовании логических операций. Мы узнаем больше об этих типах в следующих главах.