Lua Max Number-Programm
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))
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