si vous avez quelque chose comme:Comment remplacer défini? opérateur?
module Real
A = 1
end
quand vous defined?(Real::A)
vous obtenez « constante » qui est une valeur de truish. Maintenant, si je fais quelque chose comme:
module Virtual
def self.constants
[:A] + super
end
def self.const_missing(sym)
return 1 if sym == :A
super
end
def self.const_defined?(sym)
return true if sym == :A
super
end
end
defined?(Virtual::A)
nul retour. Y a-t-il un moyen de remplacer défini? comportement pour prendre des constantes métaprogrammées en compte?