Pergunta

Aqui está um pequeno programa que pega uma tabela e retorna o índice do maior valor numérico da tabela.

Minha pergunta é: alguém pode me explicar a "palavra, contagem" no loop for da linha 5?O programa funciona, mas não estou entendendo como a palavra count no loop for faz alguma coisa.

 numbers = {10, 5, 1}

 function largest(t)
   local maxcount = 0
   local maxindex
   for word, count in pairs(t) do
     if count > maxcount then
       maxcount = count
       maxindex = word 
     end
   end
   return maxindex, maxcount
 end

 print(largest(numbers))
Foi útil?

Solução

A execução do código a seguir deve deixar isso mais claro:

tbl = { a = "one", b = "two", c = "two and half" }
for key, val in pairs(tbl) do print(key, val) end

Quando você corre pairs em um loop for, ele executa o código entre do e end uma vez para cada par chave/valor na tabela; for x, y in define os nomes da chave e do valor do código dentro do loop. pairs é o exemplo mais comumente visto de um iterador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top