如何用一个参数简化ruby块?

时间:2010-04-22 08:01:07

标签: ruby closures

在某个地方我看到了用一个参数简化ruby块的方法,它基本上省略了竖条和参数声明,因为它以某种方式内联。

我找不到它或记住要搜索的任何名字。

1 个答案:

答案 0 :(得分:7)

有一些简化适用于少数情况。

如果你有类似的话:

(1..10).collect { |i| i.to_s }

您可以将其简化为:

(1..10).collect(&:to_s)

&通过调用Symbol#to_proc将符号转换为proc。它不适用于其他参数,只有在想要直接在块参数上调用方法时才有效。在Rails(ActiveSupport)中它是introduced,但它已经进入核心Ruby 1.8.7和1.9。