我注意到即使在最新的1.6.4 jruby版本中也不支持在Ruby 1.9中使用新的lambda语法.所以,我猜这个语法在ruby社区中并不常用.是因为语法是新的还是有其他缺点?
x = -> y { y+1 }
x.call(2)
Run Code Online (Sandbox Code Playgroud)
这在ruby 1.9.1中返回3并在jruby 1.6.4中给出语法错误
ban*_*man 10
您没有在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |