1

これは、テーブルを取り込んで、テーブル内の最大の数値のインデックスを返す短いプログラムです。

私の質問は、5行目のforループの「単語、カウント」について説明してもらえますか? プログラムは動作しますが、for ループ内の単語 count がどのように機能するのか理解できません。

 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))
4

1 に答える 1

3

次のコードを実行すると、より明確になります。

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

pairsfor ループで実行すると、テーブル内のキーと値のペアごとに と の間のコードが1回do実行されます。ループ内のコードのキーと値の名前を設定します。 iteratorの最も一般的な例です。endfor x, y inpairs

于 2012-07-26T17:53:40.840 に答える