Ola galerinha xtibiana!
Hoje vou mostrar um tutorial sobre a utilização de while em tabela.
Bem tabelas conseguem guardar múltiplos valores de forma fácil e pratica.
O while não e muito utilizado para manipular tabelas mais e possível fazer de forma rápida e funcional.
A utilização de um while e UM dos meios de "procurar" os valores em uma tabela.
O while perde a sua popularidade em tabelas por causa do for.
O while torna - se um pouco mais pesado do que o for além de que a quantidade de linhas gastas no for e bem menor.
Neste tutorial explicarei a utilização de while em tabelas:
Toda tabela apresenta os números de cada coluna.
Exemplo:
local tab = { {coluna = "Esta coluna representa a 1"}, {coluna = "Esta coluna representa a 2"}, {coluna = "Esta coluna representa a 3"} }
Você deve ter percebido que as colunas são em ordem numéricas crescente e começa na primeira coluna.
E importante aprender esta parte para entender o funcionamento da repetição.
Para acessar o valor de acordo com a tabela e só colocarmos de tal maneira:
tab[Numero da Coluna]
Se colocarmos assim:
tab[1] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 1"}, tab[2] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 2"}, tab[3] sera acessada a seguinte coluna = {coluna = "Esta coluna representa a 3"}
Para acessar um valor da tabela basta colocar de tal maneira:
tab[Numero da Coluna].value
Se colocarmos assim:
tab[1].coluna == sera acessado seguinte valor = "Esta coluna representa a 1" tab[2].coluna == sera acessado seguinte valor = "Esta coluna representa a 2" tab[3].coluna == sera acessado seguinte valor = "Esta coluna representa a 3"
Se usáramos # em uma tabela.
Ela verifica a quantidade de colunas dela.
Pronto.
Concluímos o básico de tabela agora vamos a utilização do while.
Temos que repetir cada coluna e verificar o valor que queremos.
local str = { {msg = "Esta na 1 missão", value = 1}, {msg = "Esta na 2 missão", value = 2}, {msg = "Esta na 3 missão", value = 3} } k = 0 ---- Cria um nova variável com o valor de 0 while #str > k do -- Verifica se a variável k e maior que o tamanho de str k = k+1 --- Adiciona o valor +1 a k if str[k].value == 2 then --- Verifica se value e 2 print(str[k].msg) ---- Se o value for 2 ele manda uma print com a mensagem da coluna. break end end
Pode parecer complicado mais vamos por parte.
Eu declarei k para eu guardar um valor.
k = 0
Quando o while repetir ele vai adicionar mais um:
k = k+1
Assim toda vez que o while repetir sera uma coluna:
str[k]
Para sabermos se encontramos o value == 2 fizemos uma verificação
if str[k].value == 2 then --- Verifica se value e 2
Se a verificação for verdadeira ele manda uma mensagem da coluna de k
print(str[k].msg) ---- Se o value for 2 ele manda uma print com a mensagem da coluna.
Terminado o script se a verificação for verdadeira ele para o while
break
Viu como e simples?
Agora basta explorar e procurar novas formas de "procurar" valores na tabela.
Espero que nos mostre a sua maneira de manipular tabelas.
Até a proxima pessoal!