class A
class << self
CONST = 1
end
end
puts A::CONST # this doesn't work
Run Code Online (Sandbox Code Playgroud)
有没有办法通过这个自我调用来从类外部访问常量?
它实际上是这样做的:
class A
self.CONST = 1
end
Run Code Online (Sandbox Code Playgroud)
我知道我可以将常数移出这个自我调用以轻松解决这个问题.我对红宝石的内部运作更加好奇.
不完全是你想要的,但你只是没有在类 A 中定义 CONST,而是在它的元类中定义,因此我保存了对它的引用......
class A
class << self
::AA = self
CONST = 1
end
end
puts AA::CONST
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4376 次 |
| 最近记录: |