Ответ 1
Вы не запускаете его в режиме 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
Я заметил, что новый синтаксис ambda → в Ruby 1.9 не поддерживается даже в последней версии 1.6.4 jruby. Итак, я предполагаю, что этот синтаксис обычно не используется в рубиновом сообществе. Это потому, что синтаксис является новым или есть другие недостатки?
x = -> y { y+1 }
x.call(2)
Это возвращает 3 в ruby 1.9.1 и дает синтаксическую ошибку в 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