【问题标题】:Constants from class instance ruby来自类实例 ruby​​ 的常量
【发布时间】:2013-06-05 12:18:08
【问题描述】:

我有一些类实例,需要从中获取常量。例如:

class MyClass
    CONST = 1
end

my_class = MyClass.new
my_class.CONST => undefined method `CONST' for #<MyClass:0x0000000234ca68>
my_class::CONST => #<MyClass:0x00000002ba75a0> is not a class/module

我知道这样的例子可以正常工作:

my_class.class::CONST
MyClass::CONST

ruby 有一些简单的方法可以从类实例中获取常量吗?

【问题讨论】:

  • 为什么不能从类本身获取常量?
  • my_class.class::CONST 有什么问题?你期待比这更简单的事情吗?
  • 我有方法返回某个类的实例。除了常量之外,我还需要它们的方法。所以.class 不适合我。
  • 需要方法是什么意思?您是在谈论从实例访问类方法吗?

标签: ruby constants


【解决方案1】:

我将类更改为模块。并且该方法不返回类的实例,以及模块的名称!当然,如果你有机会使用静态方法,它会起作用,在我的情况下,我买不起。以及如何在没有模块的情况下做到这一点,我不知道。

【讨论】:

    猜你喜欢
    • 2014-09-21
    • 2010-12-28
    • 2013-03-24
    • 2015-08-13
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多