Justin Collins wrote:
> Tom Cloyd wrote:
>> Justin Collins wrote:
>>> Tom Cloyd wrote:
>>>> I've been staring at this for a couple of hours, and I cannot crack 
>>>> the nut. This SHOULD work, but I'm obviously screwing up. Just 
>>>> cannot see where. I'm carefully following several examples, but...I 
>>>> cannot get access to my instance variables.
>>>>
>>>> Here's a stripped down version of the code -
>>>>
>>>>
> <snip>
>>>>> (rdb:1) p run_log.log
>>>>> NoMethodError Exception: undefined method `log' for nil:NilClass
>>>>> (rdb:1)
>>>> I would truly appreciate someone's pointing out the problem here.
>>>>
>>>> Thanks!
>>>>
>>>> Tom
>>>>
>>>
>>>
>>> Take a look at ManageLog#open. The last expression is a call to 
>>> puts, which returns nil. You are setting the variable "run_log" to 
>>> the result of the call to open in the debugger, but that result is 
>>> nil. Then you try to call "log" on nil, thus the error.
>>>
>>> -Justin
>>>
>>>
>> Well, nuts. That's crystal clear. Man, it's tough being a Ruby 
>> amateur, when it 's not great fun, which it hasn't been for a couple 
>> of hours.
>>
>> Thanks Justin. Much appreciated.
>>
>> t.
>
>
> Just remember that whenever you see
>
> NoMethodError Exception: undefined method `..." for nil:NilClass
>
> look at what variable you are calling the method on. Then figure out 
> why it is nil.
>
> -Justin
>
>
Got it! Makes total sense (in retrospect).

Tks,

t.

-- 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< tc / tomcloyd.com >> (email)
<< TomCloyd.com >> (website) 
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~