我在查看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打开了eigen/meta/singleton类以便将实例特定的close方法添加到logger对象中。然而,我不确定"class << self; undef :close; end"的作用和目的是什么。有人能告诉我它的含义吗?