2013-09-25 38 views
1

對於下面的方法啪非最終位置

def mixed_args(a,b,*c,d) 
    puts a,b,c,d 
end 
p mixed_args(1,2,3,4,5) 

我收到此錯誤信息:

語法錯誤,意想不到的tIDENTIFIER,期待篡改或 '&'

你能否給我提示我缺少什麼信息?

+0

這不是答案,, * splat應始終是參數列表中的最後一個成員。* –

回答

4

您正在運行Ruby 1.8。這種「高級」使用splats在1.9之前不可用。

在Ruby 1.8中,splat必須是最後一個參數:a,b,*c沒問題。在Ruby 1.9中,他們引入了甩幹參數中間列表的功能,a,b,*c,d

+0

您的意思是哪些功能? * splat *一個? –

+0

使用splats中間參數列表。澄清答案;試圖找到一個體面的來源鏈接。 – meagar

+0

Humm ..現在有道理! –