Regarding Constants

Hi,

I am having some difficulty in the use of constants in Ruby. I’ve a
module:

eg.

Module Constants

MY_CONST = “hello”

end

I include this module in my model. Further, the name of the constant
(MY_CONST) would be passed in a variable say ‘var’. My question, is how
do I access the value of the constant from the constant name in ‘var’?

Something like, :: + “{#var}” or similar? Any help greatly appreciated.
Thanks.

Regards,
Harnish

On Jul 25, 10:17 am, “[email protected][email protected]
wrote:


Module Constants
Hope this helps,
FireAphis

Of course, as Skye pointed out Module should be lowercase.
You can see that there’s a slight difference between my and Skye’s
implementation. That’s because ‘const_get’ can receive either a symbol
or a string. I am personally not familiar with to_sym method. But if I
want to pass a symbol instead of a string I’d use ‘var.intern’. That
is
Constants.const_get(var.intern)
which is exactly the same as
Constants.const_get(var)

FireAphis

On Jul 24, 1:21 pm, Harnish B. [email protected] wrote:

Hi,

I am having some difficulty in the use of constants in Ruby. I’ve a
module:

eg.

Module Constants

Use lowercase “m”

I include this module in my model. Further, the name of the constant
(MY_CONST) would be passed in a variable say ‘var’. My question, is how
do I access the value of the constant from the constant name in ‘var’?

module Constants
GRR=“burr!”
end

class Bs
include Constants

def self.get_constant(name)
self.const_get(name.to_sym)
end
end

p Bs.get_constant(“GRR”)

Why do you need to access constants this way?

On Jul 24, 11:21 pm, Harnish B. [email protected] wrote:

Regards,
Harnish

Posted viahttp://www.ruby-forum.com/.

If I understand you correctly then:

Module Constants
MY_CONST = “hello”
end

def get_constant_value_by_name(var)
Constants.const_get(var)
end

get_constant_value_by_name(“MY_CONST”)
=> “hello”

Hope this helps,
FireAphis

On Jul 25, 10:17 am, “[email protected][email protected]
wrote:


Module Constants
Hope this helps,
FireAphis

Of course, as Skye pointed out, Module should be lowercase.
Yaniv

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs