これはLua自体のバグか、何か間違っていたかどうかわかりませんでした。私はどこでもそれについて何も見つけることができませんでした。私はWindows用のLua(ルア5.1.4)を使用しています:"間隔が空です"、Lua math.randomは大きな数値では機能していませんか?
>return math.random(0, 1000000000)
1251258
予想通りこれは、0と10000000000の間のランダムな整数を返します。これは他のすべての値に対しても機能するようです。しかし、私が単一のものを追加した場合0:
>return math.random(0, 10000000000)
stdin:1: bad argument #2 to 'random' (interval is empty)
それ以上の数字は同じものをします。
私は数がこれを引き起こすことがあることを持っている正確にどのように高を把握しようとしたとしても奇妙なものが見つかりました:値が2147483647である場合、それは私に負の数を与える
>return math.random(0, 2147483647)
-75617745
を。それよりも高いとエラーをスローします。それより低くてもうまく動作します。
0b1111111111111111111111111111111
はバイナリで、正確には2進数で31バイナリです。私はそれが何を意味するかは分かりません。