代码之家  ›  专栏  ›  技术社区  ›  cfeduke

我如何复制一个Ruby核心类名,并且仍然在我的类中使用该核心类?

  •  2
  • cfeduke  · 技术社区  · 15 年前

    class Time
        def parse(str)
             @time = # I want to use Time.parse here
        end
    end
    

    1 回复  |  直到 15 年前
        1
  •  6
  •   khelll    15 年前
    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