[英]Calculate sum of objects for each unique object property in Ruby
我正在為這個問題的答案提供幫助,這引發了我自己的問題。
Pie
是一個對象,該對象具有由PiePiece
對象組成的pieces
數組。 PiePiece
都有一個flavor
屬性 如何創建如下所示的哈希:
# flavor => number of pieces
{
:cherry => 3
:apple => 1
:strawberry => 2
}
這可行,但我認為可以改進
def inventory
hash = {}
pieces.each do |p|
hash[p.flavor] ||= 0
hash[p.flavor] += 1
end
hash
end
有任何想法嗎?
def inventory
Hash[pieces.group_by(&:flavor).map{|f,p| [f, p.size]}]
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.