stavo guardando Ruby accedendo metodo di biblioteca Logging.logger e hanno una domanda dal source at github relativa a questo pezzo di codice:Rubino Meta Programming Domanda
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
ho capito che la classe < < logger si apre la classe eigen/meta/singleton all'oggetto logger per aggiungere un metodo di chiusura specifice dell'istanza. Tuttavia, non sono esattamente sicuro di cosa sia la "classe < < self; undef: close; end" e per quale scopo. Qualcuno può dirmi cosa significa?