From: Patrick Li Date: 2008-08-15T12:13:18+09:00 Subject: Re: Use of dup to remove references Mmm, there's only two types of operations in Ruby. Assignment, and method calls. sentence = "variable" is an assignment. The object_id of "variable" is put inside a variable named sentence[3] = 't' is a method call. The method's name is "[]=", so sentence does whatever the method is defined as: sentence[3] = 't' does the same thing as: sentence.[]=('t') Assignment ALWAYS assigns a new object. Method calls ALWAYS operates directly on the receiving object. -- Posted via http://www.ruby-forum.com/.