你在Ruby中叫什么 – >运算符?

  1. 你怎么称呼->运算符如下所示?

     ->(...) do ... end 
  2. 以下代码片段是否相同?

     succ = ->(x) {x + 1} succ = lambda {|x| x + 1} 

Ruby编程语言 (“Methods,Procs,Lambdas和Closures”)中,使用->定义的lambda被称为lambda文字

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

代码相当于下面的代码。

 succ = lambda { |x| x + 1 } succ.call(2) 

非正式地,我听说它也被称为stabby lambda

=> == 哈希火箭

将键与哈希映射文字中的值分开。


-> == 破折号火箭

用于在Ruby 1.9.X(不带参数)和Ruby 2.X(带参数)中定义一个lambda文字。 你给的例子( ->(x) { x * 2 }lambda { |x| x * 2 } )实际上是等价的。

Lambda火箭

我从这篇文章中得到了。 但首先谷歌searchRuby的简写http://ruby-journal.com/becareful-with-space-in-lambda-hash-rocket-syntax-between-ruby-1-dot-9-and-2-dot -0 /