otherCount = @products.drop(3).inject(0) { |sum,count| sum, count }
我的Ruby环境是1.9.3。
products
是一个哈希元素数组。它具有以下属性:productName
和count
。我想总结products
数组中所有哈希值的计数值(前3个哈希值除外)。我发现的文档要么解释得太简短,要么使用不同的Ruby环境,这可能是问题所在。我写的代码按照this document编写。
我删除前3个元素,然后调用inject
,初始值为0,携带名为sum
的变量,count
是每个元素的字段名称我想要加起来的哈希值。
答案 0 :(得分:3)
更改
inject(0) { |sum,count| sum, count }
到
inject(0) { |sum,p| sum + p['count'] }
如果您在整理此问题时遇到问题,请将这两行复制并粘贴到irb
会话中以验证其是否有效:
a = [{'count' => 1},{'count' => 2},{'count' => 3}]
a.inject(0) { |sum,p| sum + p['count'] }
# => 6
希望这有助于缩小差距。