1. ホーム
  2. ruby

[解決済み] 既存の文字列に追加する

2022-11-22 11:54:27

質問

既存の文字列に追加するために、私はこのようなことを行っています。

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

既存の文字列に追加する良い方法はありませんか。

誰かが次の答えを提案する前に、私はこれが動作しないことを示すことができます。

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

上記の場合、object_idは2つのケースで異なるものになります。

どのように解決するのですか?

この場合 << を使うと、文字列にインプレースで追加することができます。

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