以下是我追加字符串的方法。
s = 'hello'
s.gsub!(/$/, ' world');
有没有一种更好的方法来追加到现有字符串中?在有人建议以下答案之前,让我展示一下这个不起作用的答案。
s = 'hello'
s.object_id
s = s + ' world'
s.object_id
在上述情况下,对于两种情况,object_id将是不同的。以下是我追加字符串的方法。
s = 'hello'
s.gsub!(/$/, ' world');
有没有一种更好的方法来追加到现有字符串中?s = 'hello'
s.object_id
s = s + ' world'
s.object_id
在上述情况下,对于两种情况,object_id将是不同的。<<
来原地追加字符串。s = "foo"
old_id = s.object_id
s << "bar"
s #=> "foobar"
s.object_id == old_id #=> true
您也可以使用以下方法:
s.concat("world")
我可以问一下为什么这很重要吗?
我知道这不是你问题的直接答案,但你试图保留字符串的对象ID可能表明你应该重新审视你正在尝试做的事情。
例如,你可能会发现依赖字符串的对象ID会导致很难跟踪的错误。
还有另一种方法:
s.insert(-1, ' world')
fist_segment = "hello,"
second_segment = "world."
complete_string = "#{first_segment} #{second_segment}"
concat
也是如此。 - sepp2kwidget.notes.where(:author_id => a).first
可能每次都会返回一个新的对象,该对象将具有其自己独立的字符串。 - sepp2k