私はモバイルアプリケーション開発の大学クラスでLuaを学習していますが、最近では動的な量の引数を許す省略演算子(...)を扱っています。私は多分考えルア・エリプシス(Lua Ellipsis)248
function pr(...)
print(...)
end
pr(1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1)
:好奇心のうち、私はそれは結局のところ、それは例えば
で、試してみて、それが扱うことができる引数の数には限界があったかどうかを調べることにしましたそれはOSに依存していたか、スタックのサイズに関連していたので、LinuxとWindowsの両方で、それぞれ32ビット版と64ビット版の両方でこれをテストしました。許容される要素の数は248にとどまりました。これはハードコードされた制限のようです。私は> 248をしようとした場合、私は私が手にエラーを取得している:私は誰もが、ほとんどの場合ではなく、そのような場合のために以上の248個の表現を必要と想像カント
main.lua:30 function or expression too complex near <eof>
、これを回避する方法はありますか?また、なぜそれは248ですか?その数字は特別なようではありません。
これは、使用しているLuaのバージョンによって異なります。コロナが5.1または5.2を使用しているかどうか知っていますか? – hugomg
コロナはlua 5.1を使用していますが、これはlonaコードを実行するためにターミナルを使用していましたが、これはlona 5.3を使用していました。 – Rhexis