我正在创建一个非常有限的Time类,我想在其中使用核心Time类的parse方法.所以我最终得到这样的东西......
class Time
def parse(str)
@time = # I want to use Time.parse here
end
end
Run Code Online (Sandbox Code Playgroud)
如何在不重命名类的情况下突破我新定义的Time类并访问核心Time类?
require 'time'
class Time
#Opening the singleton class as Time.parse is a singleton method
class << self
alias_method :orig_parse, :parse
def parse(str)
@time = orig_parse str
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在你仍然可以使用引用旧的解析方法 Time.orig_parse