Frage

Hier ist ein kurzes Programm, das eine Tabelle aufnimmt und den Index des größten numerischen Werts in der Tabelle zurückgibt.

Meine Frage ist: Kann mir jemand das „Wort, zählen“ in der for-Schleife in Zeile 5 erklären?Das Programm funktioniert, aber ich verstehe nicht, wie das Wort „count“ in der for-Schleife irgendetwas bewirkt.

 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))
War es hilfreich?

Lösung

Das Ausführen des folgenden Codes sollte es klarer machen:

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

Wenn du rennst pairs In einer for-Schleife führt es den Code dazwischen aus do Und end einmal für jedes Schlüssel/Wert-Paar in der Tabelle; for x, y in legt die Namen des Schlüssels und Werts für den Code innerhalb der Schleife fest. pairs ist das am häufigsten gesehene Beispiel für eine Iterator.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top