2008-01-08
[Ruby]Array#choiceとArray#shuffle
Ruby1.9.0-0で増減したメソッド一覧を眺めていたら、Array#choiceなるものを発見。
これ前からほしかったやつじゃん! choiceは配列の中のひとつの要素をランダムに取得する。
10.times { p [1, 2, 3, 4, 5].choice }
実行結果
4 2 1 1 5 5 1 4 1 5
shuffleというメソッドも配列に追加されている。 shuffleは配列の要素をシャッフルする、つまり順番をランダムに並び替える。
10.times { p [1, 2, 3, 4, 5].shuffle }
実行結果
[5, 2, 4, 3, 1] [2, 1, 3, 5, 4] [3, 5, 4, 2, 1] [5, 2, 1, 3, 4] [3, 2, 4, 1, 5] [1, 4, 2, 5, 3] [2, 3, 5, 4, 1] [3, 2, 5, 1, 4] [5, 2, 1, 4, 3] [5, 2, 4, 3, 1]
shuffleには、破壊的に動作するshuffle!も用意されている。