From: matz@... (Yukihiro Matsumoto) Date: 2004-02-13T06:21:57+09:00 Subject: Re: Return value of foo= Hi, In message "Re: Return value of foo=" on 04/02/13, Sam Roberts writes: |Ok, now I'm the confused one... :-) Why does it not look like that in irb? | |[ensemble] ~/p/ruby $ irb |irb(main):001:0> class Foo; def bar=(b); @bar = b; self; end; def |bar; @bar; end; end |nil |irb(main):002:0> f = Foo.new |# |irb(main):003:0> f.bar = 9 |# | ^---- it looks like the value of the expression is "f", not "9". Try using newer version. I can't explain everything for every version. irb(main):001:0> RUBY_VERSION => "1.8.1" irb(main):002:0> RUBY_RELEASE_DATE => "2004-02-03" irb(main):003:0> class Foo; def bar=(b); @bar = b; self; end; def bar; @bar; end; end => nil irb(main):004:0> f = Foo.new => # irb(main):005:0> f.bar = 9 => 9 matz.