I’ve been looking for a method similar to:
Obj.send(:method)
but to access class constants. So if I have:
class MyObj
MY_CONSTANT_1
end
I want to access MyObj::MY_CONSTANT_1 by using a variable like foo =
MY_CONSTANT_1 and then MyObj::send(:foo), but obviously send is only
meant to work with methods and not constants.
Is there any way to do this? I’ve looked but am having difficulty
finding anything.
Thanks,
Marli
Marli Ba wrote:
I want to access MyObj::MY_CONSTANT_1 by using a variable like foo =
MY_CONSTANT_1 and then MyObj::send(:foo), but obviously send is only
meant to work with methods and not constants.
Is there any way to do this? I’ve looked but am having difficulty
finding anything.
Thanks,
Marli
I am slightly confused by your example, but you definitely need
Module#const_get:
http://www.ruby-doc.org/core/classes/Module.html#M001689
irb(main):001:0> class A
irb(main):002:1> B = 1
irb(main):003:1> end
=> 1
irb(main):004:0> A.const_get(:B)
=> 1
-Justin
Justin C. wrote:
I am slightly confused by your example, but you definitely need
Module#const_get:
class Module - RDoc Documentation
irb(main):001:0> class A
irb(main):002:1> B = 1
irb(main):003:1> end
=> 1
irb(main):004:0> A.const_get(:B)
=> 1
-Justin
Ah, sorry for the confusion. const_get is exactly what I was looking
for though, thanks!