Project1
标题:
Symbol#to_proc
[打印本页]
作者:
orzfly
时间:
2012-5-21 13:26
标题:
Symbol#to_proc
本帖最后由 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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1