Rubyで配列の要素をソートする方法:sort, sort!

今回はRubyで配列の要素をソートする方法について解説します。

sort

Rubyで配列の要素をソートする際はsortメソッドを使います。

sortメソッドでは、要素をソートした配列を新しい配列として返します。

要素の比較には「<=>」の演算子が使われています。
※比較する要素の中に「<=>」演算子で比較できない要素や、実装されていないオブジェクトがあるとエラーが出ます

基本的な書式は以下のようになります。

書式の下段にあるように、ブロックを指定すると、そのブロックの戻り値によってソートされます。

実際にsortメソッドを使ってみましょう。

実行結果は以下のようになります。

array.sortを新しい配列として作成することもできます。

また、文字列でソートすることもできます。

結果は以下のようになります。

sort!

sort!メソッドでは、レシーバ自身をソートした配列として返します。

書式はsortメソッドと変わりません。

sortメソッドと比較してみましょう。

実行結果は以下のようになります。

このように、sort!メソッドではレシーバ自身がソートされます。



購読

平日・毎朝更新中