2011-09-10 29 views
3

我注意到,即使在最新的1.6.4 jruby發行版中,也不支持Ruby 1.9中的新lambda語法 - >。所以,我猜這個語法在ruby社區中並不常用。是因爲語法是新的還是還有其他缺點?jruby - 是ruby lambda的語法 - >不是一個重要的考慮因素?

x = -> y { y+1 } 
x.call(2) 

這在1.9.1返回3和JRuby中1.6.4

+2

它對我來說工作得很好,並且已經工作了很長時間。 –

+1

除了@ banzaiman的回答,你還可以爲你的shell設置一個環境變量,這樣你總能得到1.9行爲例如:「export JRUBY_OPTS = - 1.9」 – Scott

回答

10

給出了一個語法錯誤,你是不是在1.9模式下運行它。

$ jruby --1.9 -S irb 
irb(main):001:0> x = -> y { y+1 } 
=> #<Proc:[email protected](irb):1 (lambda)> 
irb(main):002:0> x.call(2) 
=> 3 
相關問題