From: Alder Green Date: 2006-05-21T03:24:56+09:00 Subject: foo= methods don't get called inside instance scope without explicit receiver irb(main):001:0> class Bar; def foo=(val); puts "Bar#foo= called!"; end; end irb(main):002:0> Bar.new.instance_eval { foo = 1 } #=> no output irb(main):003:0> Bar.new.instance_eval { foo= 1 } #=> no output irb(main):004:0> Bar.new.instance_eval { self.foo = 1 } #=> Bar#foo= called! It seems like the only way to call Bar#foo= inside and instance of Bar is by prefixing self explicitly. Am I right about this? -- -Alder