0

我正在尝试从父类访问常量但出现错误

NameError: 未初始化的常量 CONTS

这是我的代码 - 父类

module Abc
  class Xyz
    class A
      class CONSTS
        ONE = "1"
        TWO = "2"
        Three = "3"
      end
    end
  end
end

这是子班

module Abc
  class Xyz
    class B < A
      class << self
        def print_const
          get_const
        end

        private

        def get_const
          puts CONSTS::ONE
        end
      end
    end
  end
end

现在,当我尝试 Abc:Xyz::B.print_const 时,出现上述错误。

谁能告诉我我做错了什么?

4

2 回答 2

0

尝试使用a::CONSTS:ONE或完整的标识符::abc::xyz::a::CONSTS:ONE

于 2013-01-02T09:24:08.577 回答
0

你可以这样使用

...
def get_const
  puts self.class.superclass::CONSTS::ONE
end
...
于 2021-07-07T08:43:05.553 回答