Jer*_*ith 132 ruby ruby-on-rails constants
当我有
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
Run Code Online (Sandbox Code Playgroud)
有没有办法访问Foo::CONSTANT_NAME或我必须使用类方法来访问该值?
Dyl*_*kow 231
你发布的内容应该是完美的:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
end
Foo::CONSTANT_NAME
# => ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
mač*_*ček 40
如果您在类中编写包含常量的其他代码,则可以将其视为全局代码.
class Foo
MY_CONSTANT = "hello"
def bar
MY_CONSTANT
end
end
Foo.new.bar #=> hello
Run Code Online (Sandbox Code Playgroud)
如果您在类外部访问常量,请在其前面加上类名,后跟两个冒号
Foo::MY_CONSTANT #=> hello
Run Code Online (Sandbox Code Playgroud)
aid*_*dan 40
一些替代品:
class Foo
MY_CONSTANT = "hello"
end
Foo::MY_CONSTANT
# => "hello"
Foo.const_get :MY_CONSTANT
# => "hello"
x = Foo.new
x.class::MY_CONSTANT
# => "hello"
x.class.const_defined? :MY_CONSTANT
# => true
x.class.const_get :MY_CONSTANT
# => "hello"
Run Code Online (Sandbox Code Playgroud)
Jör*_*tag 17
有办法访问
Foo::CONSTANT_NAME吗?
就在这里:
Foo::CONSTANT_NAME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63877 次 |
| 最近记录: |