Lua - Tipos de dados

Lua é uma linguagem tipada dinamicamente, então as variáveis ​​não têm tipos, apenas os valores têm tipos. Os valores podem ser armazenados em variáveis, passados ​​como parâmetros e retornados como resultados.

Em Lua, embora não tenhamos tipos de dados variáveis, temos tipos para os valores. A lista de tipos de dados para valores é fornecida abaixo.

Sr. Não Tipo de valor e descrição
1

nil

Usado para diferenciar o valor de ter alguns dados ou nenhum dado (nulo).

2

boolean

Inclui verdadeiro e falso como valores. Geralmente usado para verificação de condições.

3

number

Representa números reais (ponto flutuante de precisão dupla).

4

string

Representa matriz de caracteres.

5

function

Representa um método escrito em C ou Lua.

6

userdata

Representa dados C arbitrários.

7

thread

Representa threads de execução independentes e é usado para implementar co-rotinas.

8

table

Representa matrizes comuns, tabelas de símbolos, conjuntos, registros, gráficos, árvores, etc., e implementa matrizes associativas. Ele pode conter qualquer valor (exceto nulo).

Função de tipo

Em Lua, existe uma função chamada 'tipo' que nos permite saber o tipo da variável. Alguns exemplos são fornecidos no código a seguir.

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

Quando você constrói e executa o programa acima, ele produz o seguinte resultado no Linux -

string
number
boolean
function
nil
string

Por padrão, todas as variáveis ​​apontarão para nil até que recebam um valor ou sejam inicializadas. Em Lua, cadeias de caracteres zero e vazias são consideradas verdadeiras no caso de verificações de condição. Portanto, você deve ter cuidado ao usar operações booleanas. Saberemos mais sobre esses tipos nos próximos capítulos.