Rubyでの要素のグループ化方法


「group_by」メソッドは、配列やハッシュの要素を指定したブロックに基づいてグループ化します。以下に、使用例をいくつか示します。

  1. 配列の要素をグループ化する例:
fruits = ["apple", "banana", "orange", "grape", "kiwi"]
grouped_fruits = fruits.group_by { |fruit| fruit.length }
# 結果:
# {
#   5 => ["apple"],
#   6 => ["banana", "orange"],
#   5 => ["grape"],
#   4 => ["kiwi"]
# }

上記の例では、果物の名前の長さに基づいて要素がグループ化されます。グループ化された結果は、要素の長さをキーとし、それに対応する要素の配列を値とするハッシュとして返されます。

  1. ハッシュの要素をグループ化する例:
person_data = {
  { name: "John", age: 25 },
  { name: "Jane", age: 30 },
  { name: "David", age: 25 },
  { name: "Emily", age: 30 }
}
grouped_persons = person_data.group_by { |person| person[:age] }
# 結果:
# {
#   25 => [
#     { name: "John", age: 25 },
#     { name: "David", age: 25 }
#   ],
#   30 => [
#     { name: "Jane", age: 30 },
#     { name: "Emily", age: 30 }
#   ]
# }

上記の例では、個人のデータを年齢に基づいてグループ化しています。グループ化された結果は、年齢をキーとし、それに対応する個人データの配列を値とするハッシュとして返されます。

これらは、Rubyで要素をグループ化するためのシンプルで簡単な方法の一部です。他にもさまざまな方法がありますので、必要に応じてドキュメントやリファレンスを参照してください。