instance variable not initialized warning

E

Esad Hajdarevic

Hi!

In the following piece of code:

class Foo
def bar
if @var.nil?
puts "First assignment"
@var = 1;
else
@var +=1;
end
end
end

Foo.new.bar

When I run ruby (1.8.4)with -d ($DEBUG=true) I get to see the following
warning:

test.rb:3: warning: instance variable @var not initialized

Does it make sense to spit out this warning even if you are doing
something safe such as calling Object#nil?

What do you think?
 
Y

Yoann Guillot

Does it make sense to spit out this warning even if you are doing
something safe such as calling Object#nil?

What do you think?

The interpreter does not flag methods as 'safe' or 'unsafe'.

If you want to get rid of the warning, you can use

if defined? @var

or

@var ||= 0
@var += 1


Yoann
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top