A linguagem Lua possui poucos tipos de dados em comparação a várias outras linguagens. Isso torna seu aprendizado mais tranquilo. Nesta parte do tutorial vamos aprender os tipos básicos de dados da linguagem Lua.

Lua não possui os tipos de dados complexos como struct, union, enum disponíveis na linguagem C.

Ao atribuir valores à variáveis, Lua utiliza inferência de dados não sendo necessário declara uma variável utilizando seu tipo.

O tipo de dado booleano armazena valores verdadeiro(true) ou falso(false) que podem ser utilizado em comandos de tomada de decisão, por exemplo.

Tipo Uso Exemplo
int Valores verdadeiro ou falso true, false

O tipo de dado number para a linguagem Lua é usado para representar tanto números inteiros quanto números reais.

Tipo Uso Exemplo
number números reais e inteiros 10, -1,7.77

O tipo string, assim como em várias linguagens, é utilizado para representar uma sequência de caracteres justapostos em memória.

Tipo Uso Exemplo
string textos 'texto1, "texto",[[texto]]

O tipo de dado string pode ser visto com mais detalhes em Strings.

O tipo de dado nil tem a mesma funcionalidade do tipo de dado null/nulo conhecido em várias outras linguagens. Utilizando com tipos de dados referenciados.

Tipo Uso Exemplo
function funções, string variavel = nil

Esse tipo de dado é utilizado para representar funções e métodos que são escritos tanto na linguagem Lua. Um tópico específico sobre funções será abordado mais adiante.

Tipo Uso Exemplo
function funções e métodos nome_funcao(parametros)

Os tipos de dados funções e funções anônimas podem ser visto com mais detalhes em Funções e Funções anônimas.

Os tipos de dados derivados, são tipos de dados compostos em outros tipos de dados. A linguagem Lua fornece os seguintes tipos de dados básicos:

Tipo Uso Exemplo
Vetor(Array) variáveis 1,2,3,...
Matriz(Array 2d) matrizes minha_matriz = {{1,2},{3,4}}

Os tipos de dados Vetor/Matriz pode ser visto com mais detalhes em Vetor/Matriz.

O tipo de dado thread representa execuções que são feitas em paralelo/concorrência. São usadas em em coroutines. Uma seção específica será dedicada a esse tipo de dado.

Tipo Uso Exemplo
thread corotinas -

O tipo de dado table representa um tipo de dado dinâmico fornecido pela linguagem Lua. Pode representar vetores, matrizes, e outros tipos de dados mais complexos. Uma seção específica será dedicada a esse tipo de dado.

Tipo Uso Exemplo
table vetores, matriz, outros tabela = { 1, "string", 1.10}

O tipo de dado table pode ser visto com mais detalhes em Table.

  1. 12/09/2024 - revisão 2 - pequenos ajustes em tipo nil, derivados e adição de exemplos em table e matriz
  2. 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
  3. 26/05/2023 - versão inicial