Domanda

Ecco un breve programma che assume una tabella e restituisce l'indice del valore numerico più grande nella tabella.

La mia domanda è - qualcuno può spiegarmi la "parola, contare" nel ciclo per la linea 5?Il programma funziona, ma non capisco come la parola, contare nel ciclo del ciclo fa qualsiasi cosa.

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

È stato utile?

Soluzione

L'esecuzione del seguente codice dovrebbe renderlo più chiaro:

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

Quando si esegue pairs in A per Loop, esegue il codice tra do e end una volta per ciascuna coppia di tasti / valore nella tabella;for x, y in Imposta i nomi del tasto e del valore per il codice all'interno del loop.pairs è l'esempio più comunemente visto di un iterator .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top