【发布时间】:2011-07-11 01:19:55
【问题描述】:
我在看railscasts more virtual attributes episode。在那一集中,ryan 有一次使用了我无法理解的 map 方法语法,有人可以解释一下吗?
tags.map(&:name).join(' ')
tags 是Tag Model 的一个对象,它有一个name 属性。我能够理解这个的含义(我想是这样:))。所有标签对象的名称属性都作为数组检索并基于“”进行连接。但是&:name是怎么回事
谢谢
【问题讨论】:
-
顺便说一句:&:name 语法仅适用于 Ruby >=1.9 或 ActiveSupport。
-
@Mark,这是不正确的。它在 1.8.7 核心 - ruby-doc.org/core-1.8.7/classes/Symbol.html#M000386
-
…What is this
&:lastRuby Construct Called?,What do you call the&:operator in Ruby?,What doesmap(&:name)do in this Ruby code?,What are:+and&+in ruby?,&:views_countinPost.published.collect(&:views_count),Ruby Proc Syntax,How does “(1..4).inject(&:+)” work in Ruby。 -
@Jörg 可能属于这里:meta.stackexchange.com/questions/9686/…
标签: ruby-on-rails ruby ruby-on-rails-3 railscasts