【Ruby3.x】Array::shuffle!()メソッドの使い方
shuffle!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
shuffle!メソッドはArrayクラスに属するメソッドで、配列の要素をランダムに並べ替える(シャッフルする)ことを実行するメソッドです。このメソッドは、呼び出し元の配列オブジェクトが持つ要素の順序を無作為に入れ替えます。
shuffle!というメソッド名の末尾に付いている!(感嘆符)は、このメソッドが元の配列そのものを変更する「破壊的メソッド」であることを示しています。したがって、shuffle!メソッドを実行すると、対象となる配列の内容が直接更新され、元の並び順は失われます。
具体的な動作としては、例えば[1, 2, 3]という配列に対してshuffle!を実行すると、その配列自体が[2, 1, 3]や[3, 1, 2]といったランダムな順序の配列に変わります。メソッドの実行後、シャッフルされた配列自身が戻り値として返されます。
このメソッドは、カードゲームのデッキをシャッフルする、抽選の順番をランダムに決定する、あるいはデータセットの順序をランダム化して偏りをなくす必要がある場合など、配列の要素を完全に無作為な順序にしたい場合に非常に便利です。元の配列の順序を保持しつつ、新しいランダムな配列が必要な場合には、shuffleメソッドなど、元の配列を変更しない非破壊的なメソッドの使用を検討してください。
構文(syntax)
1array = [1, 2, 3, 4, 5] 2array.shuffle! 3puts array.inspect
引数(parameters)
random: prng
- random: prng: シャッフルに使用する擬似乱数生成器を指定します
戻り値(return)
Array
元の配列をランダムに並べ替えた新しい配列を返します。