转换为 Proc

响应 to_proc 的对象可以使用 & 运算符转换为 procs(这也允许它们作为块传递)。

类 Symbol 定义 #to_proc,因此它尝试在它接收的对象上调用相应的方法作为参数。

p [ 'rabbit', 'grass' ].map( &:upcase ) # => ["RABBIT", "GRASS"]

方法对象也定义了 #to_proc

output = method( :p )

[ 'rabbit', 'grass' ].map( &output ) # => "rabbit\ngrass"