当字符串默认不可变时,如何描述可变字符串?

saw*_*awa 8 ruby string literals ruby-2.3

当文件具有pragma时:

# frozen_string_literal: true
Run Code Online (Sandbox Code Playgroud)

默认情况下,冻结在该文件中写为文字的所有字符串.当我希望我的字符串总体上是不可变的,因此我正在使用pragma,但是想要有几个可变字符串时,建议的方法是什么?

我能想到的只有:

String.new("foo")
Run Code Online (Sandbox Code Playgroud)

saw*_*awa 8

我错过了它.建议的方法是使用+@方法字符串文字.

(+"foo").frozen? # => false
(-"foo").frozen? # => true
"foo".frozen? # => true
Run Code Online (Sandbox Code Playgroud)