附加到现有的string

追加到现有的string,这是我正在做的事情。

s = 'hello' s.gsub!(/$/, ' world'); 

有没有更好的方法来追加到现有的string。

在有人build议下面的答案之前,先让我们看看这个不起作用

 s = 'hello' s.object_id s = s + ' world' s.object_id 

在上面的例子中,object_id对于两种情况将是不同的。

您可以使用<<附加到一个string就地。

 s = "foo" old_id = s.object_id s << "bar" s #=> "foobar" s.object_id == old_id #=> true 

您还可以使用以下内容:

 s.concat("world") 

请问为什么这很重要?

我知道这不是对你的问题的直接回答,但是你试图保留一个string的对象ID的事实可能表明你应该再看看你正在尝试做什么。

例如,您可能会发现,依赖string的对象ID将导致很难追踪的错误。

另一种方式是:

 s.insert(-1, ' world')