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