Dando continuidade ao nosso tutorial de Lua, hoje falaremos de Tables.
Tables são estruturas multidimensionais que permitem o armazenamento de dados diversos.
Sua declaração é semelhante a de variáveis.
local tabela = { }
O acesso a estes valores na table é feito a partir da utilização de colchetes.
local tabela = { }
tabela[1] = ‘Carro’
tabela[2] = ‘Moto’
local variavel = tabela[1]
print(variavel)
Uma outra forma de atribuir valores a uma table é durante a sua declaração.
local tabela = {‘Carro’ , ’Moto’ , 3.14}
Funções Básicas
table.concat()
Concatena os ítens da tabela.
local tabela = {'amarelo','azul','vermelho'}
local var = table.concat(tabela)
print(var)
table.insert()
Insere um valor na tabela.
local tabela = {'amarelo','azul','vermelho'}
table.insert(tabela,'verde')
print(tabela[4])
É possível ainda, incluir o valor em uma posição determinada da tabela.
local tabela = {'amarelo','azul','vermelho'}
print(tabela[1])
table.insert(tabela,1,'laranja')
print(tabela[1])
print(tabela[2])
Você pode ver que um novo texto foi incluído na primeira posição da table. O texto que originalmente estava na primeira posição passou a segunda posição.
table.maxn()
Retorna o maior índice numérico positivo da tabela. Caso a tabela não possua índice positivo, será retornado zero.
local tabela = {'amarelo','azul','vermelho'}
print(table.maxn(tabela))
table.remove()
Revome da table o último elemento.
local tabela = {'amarelo','azul','vermelho'}
table.remove(tabela)
for i=1, table.maxn(tabela) do
print(tabela[i])
end
É possível ainda informar qual o índice do elemento que deverá ser removido.
local tabela = {'amarelo','azul','vermelho'}
table.remove(tabela,2)
for i=1, table.maxn(tabela) do print(tabela[i])
end
No exemplo anterior, removemos o segundo elemento da table.
table.sort()
Ordena os elementos da table
local tabela = {'verde','amarelo','azul','vermelho'}
table.sort(tabela)
for i=1, table.maxn(tabela) do
print(tabela[i])
end
Algumas destas funções permitem a inclusão de outros parâmetros, aumentando a gama de opções, no entanto, iremos no restringir ao básico para desenvolvimento.
No próximo post, falaremos sobre operadores.
Para saber mais:
Nenhum comentário:
Postar um comentário