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

How can I describe mutable strings when strings are immutable by default?

当文件有 pragma:

# frozen_string_literal: true

默认情况下,该文件中所有作为文字写入的字符串都被冻结。当我希望我的字符串整体不可变时,因此我使用 pragma,但想要有几个可变字符串,推荐的编写方式是什么?

我能想到的就是:

String.new("foo")

您可以 dup 文字使其可变:

"foo".dup.frozen? # => false

我错过了。推荐的方法是使用 +@ 方法字符串文字。

(+"foo").frozen? # => false
(-"foo").frozen? # => true
"foo".frozen? # => true