我刚刚在
Ruby / Rails应用程序中看到过这个表达式:
def method(a,b = nil,&c)
c ||= ->(v) { v }
我理解第一部分,但不理解 – >(){…}语法.这是什么意思?
变量名称已更改为简洁.我试过搜索,但非字母数字字符显然是SEO的噩梦.
这是一个lambda
文字.将块变量放在()中,将body放在{}中.
->(x,y){x + y}
在该示例中,– >(v){v}采用单个参数v并返回它,换句话说,它是一个标识函数.如果将块传递给方法,则将其分配给c.如果不是,则将标识功能默认分配给c.
原文链接:https://www.f2er.com/ruby/264780.html