配列の要素をランダムに取得する
Ruby 1.8.6以前では配列の要素をランダムに取得するメソッドは存在しない。
Array#length
とrand
を使って以下のようにする。
a = [1, 2, 3, 4, 5] p a[rand(a.length)] #=> 2
Ruby 1.8.7とRuby1.9.0ではArray#choice
が利用できる。
a = [1, 2, 3, 4, 5] a.choice #=> 4
Ruby 1.9.1以降ではArray#choice
は廃止された。
代わりにArray#sample
を使う。
a = [1, 2, 3, 4, 5] a.sample #=> 3