a~bの間からランダムで数値を取得する方法
Rubyにおいて、aからbまでの特定の範囲からランダムで数値を取得する場合、次のようにすることで可能になります。
[*a..b].sample
例えば、1から99の間でランダムな数を取得したい場合は以下のようにします。
[*1..99].sample
もちろん数値の部分を変数にしても大丈夫です。
start_num = 1
end_num = 99
[*start_num..end_num].sample
コードの解説
まず以下のように書くことで、a~bまでの数値を全て含んだ配列を作ります。
[*a..b]
####(例)####
[*10..15] #=> [10, 11, 12, 13, 14, 15]
その後、sampleメソッドを使用して配列の中の要素からランダムで値を取り出します。
配列.sample
####(例)####
[*10..15].sample #=> [10, 11, 12, 13, 14, 15]の中からランダムで値を取り出す