这与此问题相反:为什么字符串在Java和.NET中不可变?
这种选择是否仅仅因为操作(追加等)在可变字符串上有效,或者是否有其他原因而在Ruby中进行?
(如果它只是效率,那似乎很奇怪,因为Ruby的设计似乎不会高度重视促进有效的实施.)
字符串在Ruby中是否可变?根据文件做
str = "hello"
str = str + " world"
Run Code Online (Sandbox Code Playgroud)
使用值创建一个新的字符串对象,"hello world"但是当我们这样做时
str = "hello"
str << " world"
Run Code Online (Sandbox Code Playgroud)
它没有提到它创建了一个新对象,它是否会改变str对象,现在它将具有值"hello world"?