ruby-on-rails – Ruby中的 – >(){}是什么?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Ruby中的 – >(){}是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚在 Ruby / Rails应用程序中看到过这个表达式:
def method(a,b = nil,&c)
   c ||= ->(v) { v }

我理解第一部分,但不理解 – >(){…}语法.这是什么意思?

变量名称已更改为简洁.我试过搜索,但非字母数字字符显然是SEO的噩梦.

解决方法

这是一个lambda文字.将块变量放在()中,将body放在{}中.
->(x,y){x + y}

在该示例中,– >(v){v}采用单个参数v并返回它,换句话说,它是一个标识函数.如果将块传递给方法,则将其分配给c.如果不是,则将标识功能默认分配给c.

猜你在找的Ruby相关文章