RUBY:如何在常量定义中解决循环依赖?

时间:2010-12-04 16:06:46

标签: ruby constants

class A
  X = 9
  Y = B::X
end

class B
  X = 8
  Y = A::X
end

我有两个类,每个类定义一些常量但需要常量 从上面显示的另一个,但这给了我一个错误:

circular.rb:7:<class:A>': uninitialized constant A::B (NameError) from circular.rb:5:in'

有没有办法解决错误?

感谢。

1 个答案:

答案 0 :(得分:3)

如果将A的定义分为两部分,则可行:

class A
  X = 9
end

class B
  X = 8
  Y = A::X
end

class A
  Y = B::X
end