3
class A
X = 9
Y = B::X
end
class B
X = 8
Y = A::X
end
J'ai deux classes définissant chacune des constantes mais nécessitant des constantes de l'autre comme indiqué ci-dessus, mais cela me donne une erreur:RUBY: comment résoudre la dépendance circulaire dans les définitions constantes?
circular.rb: 7: dans <class:A>': uninitialized constant A::B (NameError) from circular.rb:5:in
'
Y at-il moyen de résoudre l'erreur?
Merci.
Pour être clair: le problème ici, comme le montre la solution par sepp2k, n'est pas que vous avez une dépendance circulaire, mais que vous essayez d'utiliser une constante avant qu'elle ne soit définie. Vous obtiendrez le même effet même sans référence circulaire. Le découpage des définitions de classe résout le problème car il s'assure que toutes les constantes sont définies avant d'être utilisées. –