How come concatenating to a string does not change its object_id? My understand was that Strings are immutable because Strings are essentally Arrays of Characters, and Arrays cannot be changed in memory since they are contiguous. Yet, as demonstrated below: Instantiating a String than adding characters does not change it's object_id. How does concatenation effect the String in memory?
2.1.2 :131 > t1 = "Hello "
=> "Hello "
2.1.2 :132 > t1.object_id
=> 70282949828720
2.1.2 :133 > t2 = t1
=> "Hello "
2.1.2 :134 > t2.object_id
=> 70282949828720
2.1.2 :135 > t2 << "HEY THERE MATE"
=> "Hello HEY THERE MATE"
2.1.2 :136 > t2.object_id
=> 70282949828720
2.1.2 :137 > t1.object_id
=> 70282949828720
2.1.2 :138 >