![](/img/trans.png)
[英]Syntax error, unexpected '}', expecting :: or '[' or '.'
[英]syntax error, unexpected '}', expecting '='
otherCount = @products.drop(3).inject(0) { |sum,count| sum, count }
我的Ruby環境是1.9.3。
products
是散列元素的數組。 它具有屬性: productName
和count
。 我想對products
數組中所有哈希的計數值進行匯總(前三個哈希除外)。 我發現的文檔說明太簡短,或者使用其他Ruby環境,這可能是問題所在。 我寫的代碼是按照本文檔編寫的 。
我刪除前三個元素,然后調用inject
,其初始值為0,並保留名為sum
變量,並且count
是每個要累加其值的哈希值中的字段名稱。
更改
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
希望這有助於彌合差距。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.