为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

德玛西亚99 2019-05-30 16:22:05
map(&:name)在Ruby中意味着什么?我在铁路:def tag_names  @tag_names || tags.map(&:name).join(' ')end是什么(&:name)在……里面map(&:name)刻薄?
查看完整描述

4 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

同时让我们也注意到#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!' ) }


查看完整回答
反对 回复 2019-05-30
  • 4 回答
  • 0 关注
  • 643 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信