Ir para conteúdo

Featured Replies

Postado

Bom pessoal, to querendo entender toda a linguagem lua, sei que vai demorar, ja sei algumas coisas e no momento quero aprender sobre pairs e ipairs.

 

Alguém experiente em scripting poderia me ajudar? Quero que criem algumas situações em que eu preciso usar pairs ou ipairs para resolver o caso, mas só me digam a resposta certa depois de eu postar o que eu achar que é. Pode ser?

 

obs. não mandem situações dificeis, não sei usar isso ainda, então...

 

obg gente, quero ter experiência com isso pra poder ajudar a comunidade futuramente, fixando códigos ou criando sistemas e eventos ^^ 

 

obg gente <3

 

@xWhiteWolf @Fir3element @Vodkart @zipter98

Editado por Sekk (veja o histórico de edições)

Postado

pairs = função next.. ela percorre toda a tabela independente dos dados

ipairs = só percorre os pares de elementos numéricos.

usar ipairs é semelhante ao usar
 

for i = 1, #table do
  if not table[i] then break end
 -- código aqui
end

enquanto que o pairs itera sobre praticamente qualquer index:

considera a tabela
local table = {
[1] = 1,
[2] = 2,
[3] = 3,
[4] = nil
[5] = 4,
}

Se eu usar ipairs e mandar printar ele vai printar 1, 2 e 3 mesmo tendo o 5 na tabela pq o 4 é nulo e ele cancela ali, O mesmo vale se os indexes forem strings.

o pairs itera sobre qualquer coisa, ele printaria 1, 2, 3, 5 (4 não pq é nulo) porém o pairs utiliza uma função next e essa função não é determinística, ou seja, ele não vai retornar exatamente na ordem desejada, então toma cuidado quando usar pairs ou ipairs. Em geral pairs é muito util, mas precisa ter um cuidado especial ao utilizá-lo pq ele é bem mais complexo.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo