完全なレコードの場合、基本的に3つの方法があります.1つは構文が少し異なり、2つは擬似コードと同じ構文です。リンクはProgramming in Luaの関連する章を指しています(ところで、これは素晴らしい本です)。
1)簡単なnumeric for loopを使用する - この場合には、あなたはsequence
を使用しません。
for i=4,9 do
print(i)
end
2)sequence
closureとして実装します
function sequence(from,to)
local i = from - 1
return function()
if i < to then
i = i + 1
return i
end
end
end
for i in sequence(4,9) do print(i) end
3)coroutineとしてsequence
を実装します:
function sequence(from, to)
return coroutine.wrap(function()
for i=from,to do
coroutine.yield(i)
end
end)
end
for i in sequence(4,9) do print(i) end
私は、i = 4、 9は、http://stackoverflow.com/questions/12020574/lua-for-variable-in-rangeのおかげで解決策になりましたが、私はこれが何であり、何が呼び出されているのかについての説明を求めます。 "、"は発見できません。 Pythonsのドキュメントで "in"を探すのと同様です。 :) – qubodup
これはforループと呼ばれていますか? – hjpotter92
https://devdocs.io/lua~5.3/index#3.3.5 – hjpotter92