Neste tutorial irei explicar sobre o conhecido (e comumente usado) in ipairs(), um "loop" que percorre todos os ítens de uma tabela (vetor).
1 - Iniciando - Conhecendo as tabelas
As tabelas (ou vetores, assim conhecido em outras linguagens) é uma variável que armazena um conjunto de valores que podem ser acessados através de um índice. Suponhamos que temos em um quarto um armário com 3 gavetas, onde cada gaveta possui um nome:• gaveta_1 = "cuecas"
• gaveta_2 = "meias"
• gaveta_3 = "camisas"
Para evitar criar uma variável para cada gaveta, poderíamos simplesmente criar uma tabela:
Para atribuirmos valores a tabela, adicionamos cada valor separado por vírgula:
Sendo assim, temos uma tabela com três índices: índice 1 (cuecas), índice 2 (meias), índice 3 (camisas). Para acessarmos cada índice, usamos o nome da variável seguido do valor respectivo ao índice entre colchetes(variavel[n_indice]):
O resultado seria:
2 - Percorrendo os valores da tabela utilizando in ipairs()
O exemplo anterior poderia ter sido exemplificado. Imaginamos agora uma tabela com 50 índices. Se quiséssemos escrever TODOS os valores (do índice 1 ao índice 50), necessitaríamos de uma boa parte do tempo para escrever tudo (gavetas[1], gavetas[2], gavetas[3], gavetas[4], gavetas[5], etc).
Para facilitar, poderíamos usar o in ipairs(). Este tem como finalidade percorrer, automaticamente, cada ítem da tabela jogando-a a uma variável (definida por você). Ou seja: ela percorre o primeiro ítem da tabela, joga na variável que você definiu e executa um bloco de instruções (no exemplo, escrever o valor no chat). Após isto, volta a realizar a mesma tarefa, porém percorrendo o segundo ítem e assim por diante.
Escrevendo o exemplo acima usando in ipairs(), seria:
Resultado:
Assim, no primeiro loop, "i" assumiria o valor "1" (número do índice em que está posicionado o in ipairs()); "dentro_gaveta" assumiria o valor "cuecas", que é o valor definido para o primeiro item da tabela; dentro do bloco temos a função outputChatBox(), responsável por escrever os valores na tela (chat).
Após executar o bloco de instruções, o in ipairs() passa a apontar então para o próximo ítem (no caso, o segundo ítem), efetuando a mesma tarefa.
3 - Exercícios resolvidos
1) Crie uma tabela com 5 índices e atribua à cada índice o nome de uma fruta. Em seguida, apresente na tela o nome dessas frutas.
Resolução)
4 - Exercícios para praticar
1) Crie uma tabela com 8 índices e atribua a cada índice o nome de uma pessoa. Em seguida, apresente na tela o nome de cada um deles.
2) Crie duas tabelas com 5 índices. Na primeira tabela, insira uma idade qualquer (número inteiro) para cada ítem. Em seguida, passe o valor do primeiro índice da primeira tabela para o primeiro índice da segunda tabela e assim por diante. Utilize in ipairs() para isso.
5 - Conclusão
Bom pessoal, podemos ver que este é um tutorial básico, apresentando um conceito básico de programação em Lua. O objetivo deste é auxiliar os iniciantes que não conseguem entender ou manusear o recurso, a fim de aprimorá-los.
Caso queiram praticar, podem resolver os dois exercícios propostos além claro de desenvolver o seu próprio desafio. O intuito é realmente aprender, compartilhar.
Creditos: Stanley Sathler.
1 - Iniciando - Conhecendo as tabelas
As tabelas (ou vetores, assim conhecido em outras linguagens) é uma variável que armazena um conjunto de valores que podem ser acessados através de um índice. Suponhamos que temos em um quarto um armário com 3 gavetas, onde cada gaveta possui um nome:• gaveta_1 = "cuecas"
• gaveta_2 = "meias"
• gaveta_3 = "camisas"
Para evitar criar uma variável para cada gaveta, poderíamos simplesmente criar uma tabela:
- gavetas = {}
Para atribuirmos valores a tabela, adicionamos cada valor separado por vírgula:
- gavetas = { "cuecas", "meias", "camisas" }
Sendo assim, temos uma tabela com três índices: índice 1 (cuecas), índice 2 (meias), índice 3 (camisas). Para acessarmos cada índice, usamos o nome da variável seguido do valor respectivo ao índice entre colchetes(variavel[n_indice]):
- gavetas = { "cuecas", "meias", "camisas" }
- outputChatBox("Item 1: " .. gavetas[1] .. " | Item 2: " .. gavetas[2] .. " | Item 3: " .. gavetas[3])
O resultado seria:
- Item 1: cuecas | Item 2: meias | Item 3: camisas
2 - Percorrendo os valores da tabela utilizando in ipairs()
O exemplo anterior poderia ter sido exemplificado. Imaginamos agora uma tabela com 50 índices. Se quiséssemos escrever TODOS os valores (do índice 1 ao índice 50), necessitaríamos de uma boa parte do tempo para escrever tudo (gavetas[1], gavetas[2], gavetas[3], gavetas[4], gavetas[5], etc).
Para facilitar, poderíamos usar o in ipairs(). Este tem como finalidade percorrer, automaticamente, cada ítem da tabela jogando-a a uma variável (definida por você). Ou seja: ela percorre o primeiro ítem da tabela, joga na variável que você definiu e executa um bloco de instruções (no exemplo, escrever o valor no chat). Após isto, volta a realizar a mesma tarefa, porém percorrendo o segundo ítem e assim por diante.
Escrevendo o exemplo acima usando in ipairs(), seria:
- gavetas = { "cuecas", "meias", "camisas" }
- -- Sintaxe: for i, v in ipairs(nome_tabela) do {}
- for i, dentro_gaveta in ipairs(gavetas) do
- outputChatBox("Item "..i..": " .. dentro_gaveta)
- end
Resultado:
- Item 1: cuecas | Item 2: meias | Item 3: camisas
Assim, no primeiro loop, "i" assumiria o valor "1" (número do índice em que está posicionado o in ipairs()); "dentro_gaveta" assumiria o valor "cuecas", que é o valor definido para o primeiro item da tabela; dentro do bloco temos a função outputChatBox(), responsável por escrever os valores na tela (chat).
Após executar o bloco de instruções, o in ipairs() passa a apontar então para o próximo ítem (no caso, o segundo ítem), efetuando a mesma tarefa.
3 - Exercícios resolvidos
1) Crie uma tabela com 5 índices e atribua à cada índice o nome de uma fruta. Em seguida, apresente na tela o nome dessas frutas.
Resolução)
- local frutas = { "maca", "laranja", "banana", "melancia", "ameixa" }
- for i, nome_fruta in ipairs(frutas) do
- outputChatBox(nome_fruta)
- end
4 - Exercícios para praticar
1) Crie uma tabela com 8 índices e atribua a cada índice o nome de uma pessoa. Em seguida, apresente na tela o nome de cada um deles.
2) Crie duas tabelas com 5 índices. Na primeira tabela, insira uma idade qualquer (número inteiro) para cada ítem. Em seguida, passe o valor do primeiro índice da primeira tabela para o primeiro índice da segunda tabela e assim por diante. Utilize in ipairs() para isso.
5 - Conclusão
Bom pessoal, podemos ver que este é um tutorial básico, apresentando um conceito básico de programação em Lua. O objetivo deste é auxiliar os iniciantes que não conseguem entender ou manusear o recurso, a fim de aprimorá-los.
Caso queiram praticar, podem resolver os dois exercícios propostos além claro de desenvolver o seu próprio desafio. O intuito é realmente aprender, compartilhar.
Creditos: Stanley Sathler.








0 comentários:
Postar um comentário