Вопрос

Вот короткая программа, которая принимает таблицу и возвращает индекс наибольшего числового значения в таблице.

Мой вопрос: может ли кто-нибудь объяснить мне слово «число» в цикле 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 является наиболее часто встречающимся примером итератор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top