Je regardais la méthode Logging.logger bibliothèque exploitation forestière Ruby et une question de la source at github relative à ce morceau de code:Ruby Meta Programmation Question
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
Je comprends que l'enregistreur de classe < < ouvre la classe eigen/meta/singleton à l'objet logger pour ajouter une méthode de fermeture d'instance d'instance. Cependant, je ne suis pas exactement sûr de ce que fait la «classe < < soi; undef: close; end» et dans quel but. Quelqu'un peut-il me dire ce que cela signifie?