0

ここに示すように、オブジェクトのパーセンテージに基づいて項目を配列に挿入する方法について最近質問しました。答えは簡単ですが、試してみました。オブジェクトTestSubjectのパーセントを 3 に設定し、以下を使用して実行しました。

if rand(100) <= TestSubject.percent
    arr.push(TestSubject.name)
end

しかし、ランドが54でパーセントが 3の場合、常に機能します

それでも、それが述べているように、パーセンテージが以下の場合にそれを行うようですTestSubject.percent.

アイデア?

4

3 に答える 3

0

私の推測では、あなたの .percent は実際には 0.54 のような 0 から 1 の間の数値であり、その場合:

arr.push(TestSubject.name) if rand(100) < TestSubject.percent*100

[編集]:次のように rand メソッドをテストできます。

20.times do
  temp = rand(100)
  puts "Random Number: #{temp} <? #{3}\t#{temp < 3}"
end

私にとっては、True 値はほとんど返されません (予想どおり)。

于 2013-08-16T02:41:58.807 に答える