Toevoegen aan een bestaande string, dit is wat ik doe.
s = 'hello'
s.gsub!(/$/, ' world');
Is er een betere manier om aan een bestaande string toe te voegen.
Voordat iemand het volgende antwoord voorstelt, laat me zien dat dit niet werkt
s = 'hello'
s.object_id
s = s + ' world'
s.object_id
In het bovenstaande geval zal object_id in twee gevallen anders zijn.
Antwoord 1, autoriteit 100%
Je kunt <<
gebruiken om een string in-place toe te voegen.
s = "foo"
old_id = s.object_id
s << "bar"
s #=> "foobar"
s.object_id == old_id #=> true
Antwoord 2, autoriteit 35%
u kunt ook het volgende gebruiken:
s.concat("world")
Antwoord 3, autoriteit 2%
Mag ik vragen waarom dit belangrijk is?
Ik weet dat dit geen direct antwoord op uw vraag is, maar het feit dat u probeert de object-ID van een string te behouden, kan erop wijzen dat u nog eens moet kijken naar wat u probeert te doen.
Je zou bijvoorbeeld kunnen ontdekken dat het vertrouwen op de object-ID van een string zal leiden tot bugs die vrij moeilijk op te sporen zijn.
Antwoord 4
Nog een andere manier:
s.insert(-1, ' world')
Antwoord 5
Hier is een andere manier:
fist_segment = "hello,"
second_segment = "world."
complete_string = "#{first_segment} #{second_segment}"