当一个文件拥有Pragma时:# frozen_string_literal: true 该文件中的所有字符串被默认冻结。当我想要我的字符串整体不可变,并且使用了pragma时,但想要有几个可变字符串,应该如何编写? 我能想到的唯一方法是: String.new("foo")
我错过了它。推荐的方法是使用+@方法字符串字面值。(+"foo").frozen? # => false (-"foo").frozen? # => true "foo".frozen? # => true
"foo"u
这样的新语法,如果您在问这个的话。Object#dup
是最简洁的。至于性能,如果String.new
更好,我会感到惊讶。 - ndnenkov