Учебники

Lua — Типы данных

Lua — это язык с динамической типизацией, поэтому переменные не имеют типов, только значения имеют типы. Значения могут храниться в переменных, передаваться как параметры и возвращаться как результаты.

В Lua, хотя у нас нет переменных типов данных, но у нас есть типы для значений. Список типов данных для значений приведен ниже.

Sr.No Тип значения и описание
1

ноль

Используется для дифференциации значения от наличия данных или отсутствия (ноль) данных.

2

логический

Включает в себя значения true и false как значения. Обычно используется для проверки состояния.

3

число

Представляет действительные числа (числа с плавающей запятой двойной точности).

4

строка

Представляет массив символов.

5

функция

Представляет метод, который написан на C или Lua.

6

данные пользователя

Представляет произвольные данные Си.

7

нить

Представляет независимые потоки выполнения и используется для реализации сопрограмм.

8

Таблица

Представляет обычные массивы, таблицы символов, наборы, записи, графики, деревья и т. Д. И реализует ассоциативные массивы. Может содержать любое значение (кроме нуля).

ноль

Используется для дифференциации значения от наличия данных или отсутствия (ноль) данных.

логический

Включает в себя значения true и false как значения. Обычно используется для проверки состояния.

число

Представляет действительные числа (числа с плавающей запятой двойной точности).

строка

Представляет массив символов.

функция

Представляет метод, который написан на C или Lua.

данные пользователя

Представляет произвольные данные Си.

нить

Представляет независимые потоки выполнения и используется для реализации сопрограмм.

Таблица

Представляет обычные массивы, таблицы символов, наборы, записи, графики, деревья и т. Д. И реализует ассоциативные массивы. Может содержать любое значение (кроме нуля).

Тип Функция

В Lua есть функция type, которая позволяет нам узнать тип переменной. Некоторые примеры приведены в следующем коде.

Live Demo

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 нулевые и пустые строки считаются истинными в случае проверки условий. Следовательно, вы должны быть осторожны при использовании логических операций. Мы узнаем больше об использовании этих типов в следующих главах.