From: ladylazy@... Date: 2006-01-06T04:54:40+09:00 Subject: Overridden Array#[]= method returns unexpected value I overrode Array#[]= like this on irb class MyArray < Array alias oldArraySetter []= def []= (i,o) self.oldArraySetter(o,i) return i end end => nil irb(main):008:0> ma = MyArray.new => [] irb(main):009:0> ma[1] = 0 => 0 irb(main):010:0> ma["asdf"] = 1 => 1 irb(main):011:0> ma => [1, "asdf"] I think the expression ma[1] = 0 should return 1 and ma["asdf"] = 1 should return "asdf" but they don't. Anyone knows why and what should I do?