From: Chris Hulan Date: 2011-10-05T00:42:00+09:00 Subject: Re: Local vs method vs instance (was: Operator Overloading) My understanding (probly flawed) is attr_reader :x generates the following code: def x @x end so in bar that 'x' is a call to the x method, which returns the '@x' value but doing it this way makes the x public readable, so should only be used if that is needed I'd stick with using @x