fel*_*lix 4 ruby ruby-on-rails railscasts ruby-on-rails-3
可能重复:
map(&:name)在Ruby中意味着什么?
我正在观看railscasts更多的虚拟属性插曲.在那一集中,有一次,ryan使用了我无法理解的地图方法语法,有人可以解释一下吗?
tags.map(&:name).join(' ')
Run Code Online (Sandbox Code Playgroud)
tags是Tag Model的一个对象,它具有name属性.我能够理解这个的含义(我想是:)).所有标记对象的name属性都作为数组检索并基于''连接.但最重要的是什么&:name
谢谢
这&是一个快捷方式Symbol#to_proc,将传递给它的符号转换为对象上的方法名称.因此&:name转换{ |reciever| receiever.name }为然后传递给map方法.
这是一种很好的方法,可以使您的代码更简洁,并避免在整个地方拥有大量的块.
| 归档时间: |
|
| 查看次数: |
7190 次 |
| 最近记录: |