在以下示例中:

default: -> { Time.now }

->是多少?我熟悉=>,但第一次看到->.

推荐答案

这是Ruby 1.9"Thorky lambda"操作符.例如,参见this article from 2008.

果壳:

> foo2 = ->(arg) { arg * 2 }
> foo2.call "now"
 => nownow

注意,->(arg)之间没有空格,这是故意的.

Ruby相关问答推荐

RSpec:为什么 `instance_double` 可以与 StandardError 一起使用,但不能与其他异常类一起使用?

RSpec 中有没有一种方法可以同时断言调用次数和参数列表?

在 Ruby 中导出环境变量

无法在 Heroku 教程中使用 Python 启动工头

为什么 Matz Select 在 Ruby 中默认使字符串可变?

在 ruby​​ 中访问嵌套哈希的元素

如何在不按 Enter 的情况下获取单个字符?

将元素添加到 ruby​​ 数组返回新数组

符号到字符串问题

`respond_to?` 与 `respond_to_missing?`

如何在 Ruby 中创建私有类常量

如何在 Ruby 符号中转义破折号-?

如何通过反射获得活动记录关联

如何转换 Ruby 哈希,使其所有键都是符号?

如何在 Ruby 的 IRB 中启用自动完成

为什么在 ruby​​ 中动态创建大量符号不是一个好主意(对于 2.2 之前的版本)?

常见的 Ruby 习语

Capybara:按值而不是文本 Select 选项

如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? (Ruby)

如何在 Ruby 循环的第一次迭代中采取不同的行动?