2
Я помогал с ответом в this question, и это вызвало мой вопрос.Вычислить сумму объектов для каждого свойства уникального объекта в Ruby
Pie
является объектом, который имеетpieces
массив, выполненный изPiePiece
из объектов.- Каждый
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
Есть идеи?
Nice. Никогда даже не было известно, что существует группа. – bergyman
Это новое для Ruby 1.8.7. Просто «требуется» backports », если используется 1.8.6. BTW, 'Hash [key_value_pairs]' также является новым для 1.8.7 –
Использование Ruby 1.9, спасибо :) –