赞 | 23 |
VIP | 22 |
好人卡 | 18 |
积分 | 608 |
经验 | 44466 |
最后登录 | 2020-9-19 |
在线时间 | 1933 小时 |
Fuzzy Ginkgo Taciturn Knight
- 梦石
- 0
- 星屑
- 60755
- 在线时间
- 1933 小时
- 注册时间
- 2010-6-26
- 帖子
- 1605
 
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 orzfly 于 2012-5-21 18:49 编辑
- ["Ruby", "Sugar"].map &:downcase
复制代码 在 Ruby 1.9 中,Symbol#to_proc 的出现使得这样的写法成为了现实。
& 这个符号会把会调用后面的对象的 to_proc 方法得到一个块作为当前调用的方法的块。
标题的写法其实相当于- ["Ruby", "Sugar"].map {|obj| obj.downcase}
复制代码 Symbol#to_proc 的实现相当于下面的代码,这可以用在 Ruby 1.8 中。- class Symbol
- def to_proc
- proc { |obj, *args| obj.send(self, *args)}
- end
- end
复制代码 |
|