From: Sam Kong Date: 2005-06-05T04:10:24+09:00 Subject: Question about string's in-place modification Hello! I wonder how destructive methods work in the behind. For example, s = '12345' s2 = s s.sub!('3', 'three') puts s #->'12three45' puts s2 #->'12three45' Destructive methods are in-place. Does that mean the object doesn't change its location in memory? Probably not. I don't think it's possible as the object might need more space and need to move to a bigger empty space for the changed data. If it moves, the references pointing to it should be updated as well. How exactly does that work? Thanks in advance. Sam