2015-04-06 88 views
0

當我連鎖,像這樣:鏈問題地圖在紅寶石

self.config["footers"].map({|f| f["name"]}).include?(footer_name) 

我得到:

syntax error, unexpected '}', expecting keyword_end 

它是什麼,我做錯了什麼?

回答

4

你把塊map在括號中。用這個代替:

self.config["footers"].map {|f| f["name"]}.include?(footer_name) 

如果由於某種原因,在一般情況下,你碰上的優先問題,把括號圍繞整個電話:

(self.config["footers"].map {|f| f["name"]}).include?(footer_name) 
+0

第二點是問題。它正在與優先問題混淆。 – Cenoc

3

請勿將map區塊放入()。這是一個塊,而不是一個參數:

self.config["footers"].map{|f| f["name"]}.include?(footer_name) 
0

如果你絕對必須使用,由於括號一個管理強制的括號配額,你可以通過一個proc與和號運算符來解釋爲一個塊。

self.config["footers"].map(&proc{|f| f["name"]}).include?(footer_name) 

雖然不是正確的塊使用乾淨和美觀要少得多,但它確實證明你的括號預算的申請委員會的爆炸準備作業。