From: 7stud -- Date: 2009-02-27T00:51:52+09:00 Subject: Re: "def nothing=(data) false end" returns 'data' instead of I単aki Baz Castillo wrote: > > Thanks a lot for any clarification. > As a recent thread pointed out: "that's just the way it is". An equals method just returns its argument: class Person def name=(val) @name = val end def name @name end end p = Person.new p.name = "Alice" puts p.name #Alice class Person def age=(val) @age = val return 20 end def age @age end end p.age = 22 puts p.age #22 puts p.age = 30 #30 Presumably, "that's the way it i" so that when you write something like: x = p.age = 40 you can know that x will equal 40, although somewhat paradoxically you can't know that p.age will equal 40: class Person def age=(val) @age = val * 0.80 return "hello" end end x = p.age = 40 puts x #40 puts p.age #32.0 -- Posted via http://www.ruby-forum.com/.