新手问题 Ruby 里面 &:name 是什么意思?

colinxt · 2013年05月06日 · 最后由 colinxt 回复于 2013年05月06日 · 3520 次阅读

看到一句这个:

tags.map(&:name).join(", ")

不太明白那个&:name是什么意思?

另外,这句里面的 map 会返回一个 string 还是一个 array?

谢谢先~

实际调用的是 Symbol#to_proc,和下面这个是等价的:

tags.map { |tag| tag.name }.join(", ")

&表示 proc,也就是会 tags 元素的 name 方法,结果是 array。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号