语法错误,意外'}',期待'='

时间:2014-02-20 23:15:22

标签: ruby-on-rails ruby arrays hash ruby-1.9.3

otherCount = @products.drop(3).inject(0) { |sum,count| sum, count }

我的Ruby环境是1.9.3。

products是一个哈希元素数组。它具有以下属性:productNamecount。我想总结products数组中所有哈希值的计数值(前3个哈希值除外)。我发现的文档要么解释得太简短,要么使用不同的Ruby环境,这可能是问题所在。我写的代码按照this document编写。

我删除前3个元素,然后调用inject,初始值为0,携带名为sum的变量,count是每个元素的字段名称我想要加起来的哈希值。

1 个答案:

答案 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

希望这有助于缩小差距。