Lua Max数字计划

时间:2012-07-26 17:30:36

标签: indexing lua iteration lua-table

这是一个接受表的短程序,并返回表中最大数值的索引。

我的问题是 - 有人可以向我解释第5行for循环中的“word,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))

1 个答案:

答案 0 :(得分:3)

运行以下代码应该更清楚:

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

当您在for循环中运行pairs时,它会对表中的每个键/值对执行一次doend之间的代码; for x, y in设置循环中代码的键和值的名称。 pairs是最常见的iterator示例。