Rubyで犬の一覧を簡単に並び替える方法:sortメソッドとカスタム比較

Ruby

Rubyで配列に格納された犬の名前やオブジェクトの一覧を並び替える方法は非常にシンプルです。標準ライブラリのメソッドを活用することで、昇順・降順や独自条件でのソートも簡単に実現できます。

1. 基本的な配列の並び替え

Rubyでは、文字列や数値の配列であれば、sortメソッドで簡単に昇順に並び替えできます。

例。

dogs = ["ポチ", "タロー", "ハナ"]
sorted_dogs = dogs.sort
puts sorted_dogs
# 出力: ["タロー", "ハナ", "ポチ"]

2. 逆順に並べたい場合

降順に並び替えたい場合は、sort.reverse を使用します。

descending_dogs = dogs.sort.reverse
puts descending_dogs
# 出力: ["ポチ", "ハナ", "タロー"]

3. ブロックを使ったカスタムソート

もし犬のオブジェクトに年齢や体重などの属性がある場合は、ブロックを渡して独自条件でソートできます。

dogs = [
  {name: "ポチ", age: 5},
  {name: "タロー", age: 3},
  {name: "ハナ", age: 7}
]
sorted_by_age = dogs.sort { |a, b| a[:age] <=> b[:age] }
puts sorted_by_age.map { |d| d[:name] }
# 出力: ["タロー", "ポチ", "ハナ"]

4. sort_byを使った簡易カスタムソート

より簡単に属性で並び替えたい場合は sort_by が便利です。

sorted_by_age = dogs.sort_by { |d| d[:age] }
puts sorted_by_age.map { |d| d[:name] }
# 出力: ["タロー", "ポチ", "ハナ"]

まとめ

Rubyでは sortsort_by を活用することで、犬の一覧を簡単に並び替えることができます。文字列、数値、またはオブジェクト属性に応じて適切な方法を選ぶことで効率的に整理可能です。

コメント

タイトルとURLをコピーしました