我在RailsCast中发现了以下代码:
def标签名称
@tag|names | tags.map(&;:name).join(“”)
终止
地图(&;name)中的(&;name)是什么意思
它是tags.map(&;:name.to_proc).join(“”)的缩写。
如果foo是具有to_proc方法的对象,则可以将其作为传递给方法&;foo,它将调用foo.to_proc,并将其用作方法的块
Symbol#to_proc方法最初由ActiveSupport添加,但已集成到Ruby 1.8.7中。这就是它的实施:
类符号
def to_proc
过程新do | obj,*参数|
obj.send self,*args
终止
终止
终止