类方法中的Ruby常量

前端之家收集整理的这篇文章主要介绍了类方法中的Ruby常量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
class A
   class << self
     CONST = 1
   end
 end

 puts A::CONST    # this doesn't work

有没有办法通过这个自我调用来从类外部访问常量?

它实际上是这样做的:

class A
    self.CONST = 1
end

我知道我可以将常数移出这个自我调用以轻松解决这个问题.
我对ruby的内部运作更加好奇.

解决方法

不完全是你想要的,但你只是没有在类A中定义CONST但是在其元类中,因此我保存了对…的引用.
class A
  class << self
    ::AA = self
    CONST = 1
  end
end
puts AA::CONST

猜你在找的Ruby相关文章