2011-09-10 31 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 
相关问题