Je crée des classes non-nommées dynamiquement.Où créer des classes dynamiquement? Dans l'objet ou dans l'espace de noms global?
J'ai vu un exemple où cette création se fait dans la classe de l'objet:
class Object
for elem in ARRAY
sub_class = Object.const_set(elem.to_s.camelize, Class.new(SuperClass))
sub_class.class_eval do
def initialize(*args, &block)
...
super *args, &block
end
end
end
end
Mes questions:
- évalueriez-vous aussi cela dans le contexte de l'objet?
- Où est la différence par rapport à la création de classes dans l'espace de noms global?
- Des avantages ou des inconvénients?
Ah, d'accord. En ce qui concerne votre dernière phrase: ma question était de savoir si la définition dans 'Object' est avantageuse par rapport à l'espace de noms toplevel. Donc, il sera disponible pour toutes les classes de toute façon. Ainsi, la ligne du bas est: * Il n'y a aucune différence * (comme l'espace de noms global signifie implicitement l'espace de noms d'objet). – crispy