【发布时间】:2010-11-16 01:39:17
【问题描述】:
我在a RailsCast找到了这段代码:
def tag_names
@tag_names || tags.map(&:name).join(' ')
end
map(&:name) 中的(&:name) 是什么意思?
【问题讨论】:
-
顺便说一句,我听说这叫做“椒盐卷饼冒号”。
-
哈哈。我知道这是一个&符号。我从未听说过它被称为“椒盐脆饼”,但这是有道理的。
-
您也可以去掉括号
tags.map &:name以获得额外的最短条目。 -
称它为“椒盐卷饼冒号”是一种误导,虽然很吸引人。红宝石中没有“&:”。与号 (&) 是一个“一元 & 号运算符”,其中包含一个 :symbol。如果有的话,它是一个“椒盐脆饼符号”。只是说。
-
tags.map(&:name) 是从 tags.map{|s| 中排序的s.name}
标签: ruby syntax operators parameter-passing