R
Roland Swingler
Hi,
I came across something unexpected today, and wondered if anyone could
explain it to me. If I have this class:
class Foo
def initialize
@bar = 0
end
attr_accessor :bar
def add
bar += 1
end
end
then the "add" function doesn't work - it complains about a nil
object. You have to specifically put "self.bar += 1". Why is that - I
thought that the "self" was implicitly there?
Doing:
f = Foo.new
f.add
works as the class stands, so you only seem to need the self if you
are calling the accessor from within your class.
Confused...
TIA
Roland
I came across something unexpected today, and wondered if anyone could
explain it to me. If I have this class:
class Foo
def initialize
@bar = 0
end
attr_accessor :bar
def add
bar += 1
end
end
then the "add" function doesn't work - it complains about a nil
object. You have to specifically put "self.bar += 1". Why is that - I
thought that the "self" was implicitly there?
Doing:
f = Foo.new
f.add
works as the class stands, so you only seem to need the self if you
are calling the accessor from within your class.
Confused...
TIA
Roland