我正在创建一个非常有限的Time类,我想在其中使用核心Time类的parse方法。所以我最终得到这样的东西......
class Time
def parse(str)
@time = # I want to use Time.parse here
end
end
如何在不重命名课程的情况下突破我新定义的Time类并访问核心Time类?
答案 0 :(得分:6)
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
现在,您仍然可以使用Time.orig_parse