我无法理解在接下来的情况下红宝石的工作原理。
我有下一个代码:
module MainParams
CATEGORY = 'Animals'
end
class Person
include MainParams
class << self
def get_category
CATEGORY
end
end
end
当我尝试调用Person.get_category
时收到了
uninitialized constant #<Class:Person>::CATEGORY (NameError)
但是当我更改Person类时:
class Person
include MainParams
def self.get_category
CATEGORY
end
end
当我调用
Person.get_category
我收到成功的结果
"Animals"
您能解释一下它是如何工作的吗?早些时候,我认为这是定义类方法的相同方法。或给我链接到文档,这种情况的解释在哪里。