我注意到即使在最新的 1.6.4 jruby 版本中,Ruby 1.9 中的新 lambda 语法 -> 也不支持。所以,我猜这个语法在 ruby​​ 社区中并不常用。是因为语法是新的还是有其他缺点?

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

这在 ruby​​ 1.9.1 中返回 3 并在 jruby 1.6.4 中给出语法错误

最佳答案

您不是在 1.9 模式下运行它。

$ jruby --1.9 -S irb
irb(main):001:0> x = -> y { y+1 }
=> #<Proc:0x1e937f@(irb):1 (lambda)>
irb(main):002:0> x.call(2)
=> 3

关于ruby - jruby - 是 ruby​​ lambda 语法 -> 不是一个重要的考虑因素吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7369553/

10-12 01:34
查看更多