From: ptkwt@...1.aracnet.com (Phil Tomson) Date: 2003-03-21T11:20:27+09:00 Subject: Proposal: new operator: '<-' (for assignments) Since we can't override '=' (and it's a good idea that we can't) it seems that it would be nice to have another overridable operator for assigning values in classes. So, I'm proposing that we allow a new operator '<-' (less-than minus) which can be overridden to allow assignment, for example: class Foo def initialize(value) @val = value end def <-(newVal) @val = newVal end end foo = Foo.new("this value") ....later... foo <- "some new value" Now of course, I could have allowed access to @val by declaring an attr_accessor, but in many cases I don't want to expose that information or make users of the class have to remember the name of the variable 'val'. It just seems much cleaner in many cases to have an assignment operator. Up till now I've been overriding '<<' to do this, but now I've run into a case where I'd like to pass on operators to the underlying value (@val in the example above) using method_missing so the underlying value can be shifted (and since '<<' is overriden, that's kind of tough). Thoughts? Phil