【发布时间】:2016-12-28 18:41:06
【问题描述】:
如果我有这样的课程怎么办:
class Thing
def number
10
end
end
而我是这样继承的:
class OtherThing < Thing
CONSTANT = number / 2
end
当我尝试实例化类时,我得到undefined local variable or method 'number',但如果我这样做:
class OtherThing < Thing
def method_instead_of_constant
number / 2
end
end
有效吗?
编辑
我不一定要寻找一种技巧来完成这项工作,而是要了解它为什么不能。 mudasobwa下面的回答最有帮助;常量是在类级别分配的,而不是在实例上。
【问题讨论】:
-
阅读 Ruby 中的
self... 这对您有很大帮助。
标签: ruby inheritance constants