map(&:name)在Ruby中意味着什么?

map(&:name)在Ruby中意味着什么?

我在铁路:

def tag_names  @tag_names || tags.map(&:name).join(' ')end

是什么(&:name)在……里面map(&:name)刻薄?


德玛西亚99
浏览 644回答 4
4回答

杨__羊羊

同时让我们也注意到#to_proc魔法可以适用于任何类,而不仅仅是符号。许多Rubyist选择定义#to_proc数组类:class Array   def to_proc     proc { |receiver| receiver.send *self }   endend# And then...[ 'Hello', 'Goodbye' ].map &[ :+, ' world!' ]#=> ["Hello world!", "Goodbye world!"]阿巴斯德&通过发送to_proc它的操作数上的消息,在上面的代码中,它属于Array类。因为我定义了#to_proc方法时,行变为:[ 'Hello', 'Goodbye' ].map { |receiver| receiver.send( :+, ' world!' ) }
打开App,查看更多内容
随时随地看视频慕课网APP