Числовая программа Lua Max
Вопрос
Вот короткая программа, которая принимает таблицу и возвращает индекс наибольшего числового значения в таблице.
Мой вопрос: может ли кто-нибудь объяснить мне слово «число» в цикле for в строке 5?Программа работает, но я не понимаю, как слово count в цикле for что-то делает.
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))
Решение
Выполнение следующего кода должно прояснить ситуацию:
tbl = { a = "one", b = "two", c = "two and half" }
for key, val in pairs(tbl) do print(key, val) end
Когда ты бежишь pairs
в цикле for он выполняет код между do
и end
один раз для каждой пары ключ/значение в таблице; for x, y in
устанавливает имена ключа и значения для кода внутри цикла. pairs
является наиболее часто встречающимся примером итератор.
Не связан с StackOverflow