【Ruby3.x】Array::sort_by!()メソッドの使い方
sort_by!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
sort_by!メソッドは、Arrayクラスのインスタンスに対して、ブロックの戻り値に基づいて要素をソートし、元の配列を破壊的に変更するメソッドです。このメソッドはRuby 3の組み込み機能として提供されており、配列の要素を特定の基準で並べ替えたい場合に利用されます。
このメソッドを使用する際は、配列の各要素が一つずつブロックに渡されます。ブロック内では、渡された要素をどのように評価してソートの基準とするかを記述し、その評価結果を戻り値として返します。例えば、数値の配列を数値の大きさで、文字列の配列を文字列の辞書順でソートするだけでなく、ユーザーオブジェクトの配列を名前のアルファベット順や年齢の順で並べ替えたい場合など、複雑なオブジェクトの特定の属性を基準にソートする際に非常に便利です。
メソッド名の末尾にある「!」は、このメソッドが破壊的な操作であることを示しています。つまり、sort_by!メソッドを実行すると、元の配列オブジェクト自体が変更され、並べ替えられた状態になります。元の配列の内容を変更せずに新しいソート済みの配列を得たい場合は、破壊的ではないsort_byメソッドを使用してください。
このメソッドは、指定されたソート基準に従って要素を並べ替え、最終的にソートされた配列自身を返します。データの整形や表示順序の制御において、システムエンジニアを目指す方にとって基本的ながら非常に重要なメソッドの一つです。
構文(syntax)
1array = [1, -5, 3, -2, 4] 2array.sort_by! { |item| item.abs }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
ソートされた配列自身を返します。