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
我注意到,即使在最新的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
給出了一個語法錯誤,你是不是在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
它對我來說工作得很好,並且已經工作了很長時間。 –
除了@ banzaiman的回答,你還可以爲你的shell設置一個環境變量,這樣你總能得到1.9行爲例如:「export JRUBY_OPTS = - 1.9」 – Scott