Hi, I'm new to ruby. Trying to understand how variables hold references to objects. I wrote some simple example for this: ## # Trying to observ person1 and person2 are aliases. # (they references the same object) person1 = "Tim" person2 = person1 person2[0] = "s" # This changes both puts person1 puts person2 # Produces: # # Tim # sim # Second part person3 = "Tim" person4 = person3 person4 = "s" puts person3 puts person4 # Produces: # # Tim # s I expect that the second part will print: s # not Tim s What's the reason that when I assign something to person3, person4 doesn't change although they are aliases (or aren't they?) Thanks, Aytek