Ruby 配列をランダムに並び替える

  • 作成日 2021.01.12
  • 更新日 2022.08.17
  • Ruby
Ruby 配列をランダムに並び替える

Rubyで、sort_by! {rand}を使って、配列をランダムに並び替えるサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

sort_by! {rand}使い方

sort_by! {rand}を使用すると、配列をランダムに並び替えることが可能です。

[配列].sort!.reverse!

以下は、配列をランダムに並び替えるサンプルコードとなります。

arr=[1, 2, 3, 4, 5 ,6]

p arr.sort_by! {rand}
# [1, 3, 4, 2, 5, 6]

arr=["a", "b", "c", "d", "e", "f"]

p arr.sort_by! {rand}
# ["d", "f", "a", "b", "c", "e"]

二次元配列にも利用できます。

arr = [[1, 2], [3, 4], [5, 6]]

p arr.sort_by! {rand}
# [[3, 4], [5, 6], [1, 2]]