|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hello,
I need a bit of understanding how to use a variable as a name for a method call. Forgive me trying to explains this, I am new at all this. In the code listed, I am tring to set the debugging level of the Logger class, however, the variable in question is not being sustituted prior to interpreting the method call. when "--debug" if($DEBUG_LEVELS.include?(arg)) mylog.level = Logger::arg ^^^^^^^^^^^ else puts "Debug level can be one of: DEBUG, INFO, WARN, or ERROR" dis_ end This causes Ruby to spit out that there is no method called arg which is correct. So how do I get arg to be substituted to the value rather than the var name? I tried dereferencing and using the it within a string (okay, a dumb idea). Any way, any will be much appreciated! TIA! Phy __________________________________________________ __________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsea...egory=shopping |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
[Note: parts of this message were removed to make it a legal post.]
Try Logger.send(arg) On Sat, Feb 23, 2008 at 8:18 PM, Phy Prabab <phyprabab@yahoo.com> wrote: > Hello, > > I need a bit of understanding how to use a > variable as a name for a method call. Forgive me > trying to explains this, I am new at all this. In the > code listed, I am tring to set the debugging level of > the Logger class, however, the variable in question is > not being sustituted prior to interpreting the method > call. > > when "--debug" > if($DEBUG_LEVELS.include?(arg)) > mylog.level = Logger::arg > ^^^^^^^^^^^ > else > puts "Debug level can be one of: DEBUG, INFO, > WARN, or ERROR" > dis_ > end > > This causes Ruby to spit out that there is no method > called arg which is correct. So how do I get arg to > be substituted to the value rather than the var name? > I tried dereferencing and using the it within a string > (okay, a dumb idea). Any way, any will be much > appreciated! > > TIA! > Phy > > > > __________________________________________________ __________________________________ > Looking for last minute shopping deals? > Find them fast with Yahoo! Search. > http://tools.search.yahoo.com/newsea...egory=shopping > > -- http://www.coreyhaines.com The Internet's Premiere source of information about Corey Haines |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
[Note: parts of this message were removed to make it a legal post.]
On Sat, Feb 23, 2008 at 7:18 PM, Phy Prabab <phyprabab@yahoo.com> wrote: > This causes Ruby to spit out that there is no method > called arg which is correct. So how do I get arg to > be substituted to the value rather than the var name? > I tried dereferencing and using the it within a string > (okay, a dumb idea). Any way, any will be much > appreciated! > What is the /type/ of arg? If it's a Proc, you might try arg.call(). If you're trying to do it via string, look into eval. Jay Fields has some thoughts: http://blog.jayfields.com/2006/07/ru...h-binding.html http://blog.jayfields.com/2006/07/ruby-block-scope.html I seem to remember seeing a better reference, only I can't recall by whom or where. Regards, Sam |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
[Note: parts of this message were removed to make it a legal post.]
Hi, On Sun, Feb 24, 2008 at 12:23 PM, Corey Haines <coreyhaines@gmail.com> wrote: > Try Logger.send(arg) In the case of Rails, `arg' should also be lower case. Is it Logger.warn or warning? Logger.send(arg.downcase) Arlen |
|
![]() |
| Outils de la discussion | |
|
|