Ir para conteúdo

Entendendo Ipairs E A Diferença Entre Ele E O Pairs


Antharaz

Posts Recomendados

{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...

 

:laugh:

 

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] )
end

 

 

ou

 

 

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:

 

 

O valor numero 1 da tabela e: Antharaz

O valor numero 2 da tabela e: 5

O valor numero 3 da tabela e: Exemplo

O valor numero 4 da tabela e: asdrubadeitabebuia

 

 

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:

 

 

O valor numero 1 da tabela e: Antharaz

O valor numero 2 da tabela e: 5

O valor numero 3 da tabela e: Exemplo

O valor numero 4 da tabela e: asdrubadeitabebuia

 

 

 

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 por Antharaz
Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

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 por tibiaa4e
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...