私は反復せずに数値をランダム化するプロジェクトを行っています。ここに私のコードはリピートしないLuaの数値をランダム化
for i = 1, 86000 do
while rndom[num] ~= nil do
num = math.random(1,95000)
end
rndom[num] = num
for k=1, 11 do
file2:write(input[num][k], " ")
end
file2:write("\n")
end
だ基本的には数が繰り返され、rndom [NUM]〜= nilをランダム化したときに、それが再び番号をランダム化しますので、[NUM] rndomに価値を置きます。私の問題は、私の「私」が高くなり、それが止まる時間が来るので、ロードに時間がかかり過ぎているということです。私はランダマイザーがrndom [num]を得ることができないのでそれが 'nil'であると推測しています。私は間違いないでしょうか?私はそれの実行時間を改善したいと思います。私の問題に対してより良い解決策を提案できる人は誰ですか?
ありがとうございます!
うわー。それはそれでした!間違いなく実行時間を短縮しました。どうもありがとうございます。 – Rachelle
math.random(i、n)を使用できます。 http://lua-users.org/wiki/RandomSampleを参照してください。 – lhf
@lhf - ありがとう。 –