簡體   English   中英

語法錯誤,意外的'}',期望的'='

[英]syntax error, unexpected '}', expecting '='

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

我的Ruby環境是1.9.3。

products是散列元素的數組。 它具有屬性: productNamecount 我想對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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM