From: "FireAphis@..." Date: 2007-07-25T17:00:04+09:00 Subject: Re: Regarding Constants On Jul 25, 10:17 am, "FireAp...@gmail.com" wrote: > On Jul 24, 11:21 pm, Harnish Botadra wrote: > > > > > 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 > > -- > > 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 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