Lua — это язык с динамической типизацией, поэтому переменные не имеют типов, только значения имеют типы. Значения могут храниться в переменных, передаваться как параметры и возвращаться как результаты.
В Lua, хотя у нас нет переменных типов данных, но у нас есть типы для значений. Список типов данных для значений приведен ниже.
Sr.No | Тип значения и описание |
---|---|
1 |
ноль Используется для дифференциации значения от наличия данных или отсутствия (ноль) данных. |
2 |
логический Включает в себя значения true и false как значения. Обычно используется для проверки состояния. |
3 |
число Представляет действительные числа (числа с плавающей запятой двойной точности). |
4 |
строка Представляет массив символов. |
5 |
функция Представляет метод, который написан на C или Lua. |
6 |
данные пользователя Представляет произвольные данные Си. |
7 |
нить Представляет независимые потоки выполнения и используется для реализации сопрограмм. |
8 |
Таблица Представляет обычные массивы, таблицы символов, наборы, записи, графики, деревья и т. Д. И реализует ассоциативные массивы. Может содержать любое значение (кроме нуля). |
ноль
Используется для дифференциации значения от наличия данных или отсутствия (ноль) данных.
логический
Включает в себя значения true и false как значения. Обычно используется для проверки состояния.
число
Представляет действительные числа (числа с плавающей запятой двойной точности).
строка
Представляет массив символов.
функция
Представляет метод, который написан на C или Lua.
данные пользователя
Представляет произвольные данные Си.
нить
Представляет независимые потоки выполнения и используется для реализации сопрограмм.
Таблица
Представляет обычные массивы, таблицы символов, наборы, записи, графики, деревья и т. Д. И реализует ассоциативные массивы. Может содержать любое значение (кроме нуля).
Тип Функция
В 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 нулевые и пустые строки считаются истинными в случае проверки условий. Следовательно, вы должны быть осторожны при использовании логических операций. Мы узнаем больше об использовании этих типов в следующих главах.