你在Ruby中叫什么 – >运算符?
-
你怎么称呼
->
运算符如下所示?->(...) do ... end
-
以下代码片段是否相同?
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 /