Appending to an existing string
Can I ask why this is important?
I know that this is not a direct answer to your question, but the fact that you are trying to preserve the object ID of a string might indicate that you should look again at what you are trying to do.
You might find, for instance, that relying on the object ID of a string will lead to bugs that are quite hard to track down.
Yet an other way:
s.insert(-1, ' world')
you can also use the following:
s.concat("world")
You can use <<
to append to a string in-place.
s = "foo"
old_id = s.object_id
s << "bar"
s #=> "foobar"
s.object_id == old_id #=> true