Adorei a explicação
Quando aprendi o meu amigo que não quero citar o nome Frerety
Deu uma explicação muito confusa...
Essa ai ajudará os novos scripters
Por Antharaz, 23 de fev. de 2010 em Tutoriais de Scripting
info
Grupo: Conde
Registrado: 18/12/05
Posts: 912
Reputação: +86
Gênero: Masculino
Char no Tibia: Kohzete

Adorei a explicação
Quando aprendi o meu amigo que não quero citar o nome Frerety
Deu uma explicação muito confusa...
Essa ai ajudará os novos scripters
Editado Março 22 por tibiaa4e
info
Grupo: Cavaleiro
Registrado: 05/01/08
Posts: 153
Reputação: +93
Char no Tibia: nenhum
{P}ré-requisitos:
- Conhecer tables
- Ter um senso mínimo de lógica de programação
{I}nício
Bem, muitos vêem scripts usando a função ipairs e não sabem como que ela funciona... espero tirar muitas dúvidas neste tópico...
Vamos parar de enrolar e começar.
Usarei a tabela abaixo nos exemplos:
local nomedatabela = {"Antharaz",5,"Exemplo","asdrubadeitabebuia"}
Várias vezes temos que fazer a interação sobre uma tabela inteira, seja para imprimí-la ou para outros fins, usando algum laço de repetição como for, while ou repeat. Se você não entendeu ainda o que eu disse, vou escrever de outro jeito: várias vezes temos que acessar todos os dados/valores dela. Um exemplo disto é o abaixo:
for x = 1,#nomedatabela do print("O valor numero "..x.. " da tabela e: " ..nomedatabela[x] ) endou
x=1 while x ~= (#nomedatabela +1) do print("O valor numero "..x.. " da tabela e: " ..nomedatabela[x] ) x = x+1 end{A}lgumas explicações:
O #nomedatabela retorna o último índice da tabela.
Como o próprio nome ja diz, em nomedatabela você colocará o nome da sua tabela.
Usei o x para ser o valor do índice da tabela.
{V}oltando
O resultado seria assim:
Usando o in ipairs( nomedatabela ), o índice da tabela irá ser atribuído ao primeiro parâmetro(no caso x) e o valor do índice x para o segundo parâmetro, que no caso você o verá no exemplo a seguir:
for x,a in ipairs( nomedatabela ) do print("O valor numero "..x.. " da tabela e: " ..a) end{M}ais algumas explicações:
O x é a primeiro parâmetro no qual será atribuído o índice da tabela e o a será o segunda parâmetro no qual será atribuído o valor daquele índice.
{V}oltando
Ficando no final com o mesmo resultado:
PS:.. o print fará com que seja imprimido a frase no CONSOLE e não ingame.
{A} diferença entre o ipairs e o pairs é que o ipairs pega somente índices numéricos enquanto o pairs pega qualquer índice...
Editado Fevereiro 23 por Antharaz