L'exemple de code et de sortie peuvent être trouvés ici:question l'accès variable d'instance via la méthode de module inclus
module A
def self.included(base)
base.include InMethods
end
module InMethods
def mem
@mem ||= []
end
def add(n)
mem += n
end
end
end
class Help
include A
end
h = Help.new
h.add(1)
# in `add': undefined method `+' for nil:NilClass (NoMethodError)
Fondamentalement, je suis inclus un module qui comprend un sous-module, mais le vrai problème est avec les méthodes et la variable d'instance. C'est un modèle commun pour moi, mais puisque j'essaie de le faire à partir d'un module que j'ai inclus, j'ai des problèmes.
Il est vrai que mon libellé est erroné. Je voulais dire "désactivé" pour le second. Un artefact étrange de la façon dont Ruby définit les variables locales. – Max