我正在查看 Ruby 日志记录库 Logging.logger 方法,并且在 github 的源代码中有一个与这段代码相关的问题:
logger = ::Logging::Logger.new(name)
logger.add_appenders appender
logger.additive = false
class << logger
def close
@appenders.each {|a| a.close}
h = ::Logging::Repository.instance.instance_variable_get :@h
h.delete(@name)
class << self; undef :close; end
end
end
我知道类 << logger 向 logger 对象打开了 eigen/meta/singleton 类以添加实例特定的关闭方法。但是,我不确定“class << self; undef :close; end” 的作用和目的。谁能告诉我这是什么意思?