Я просто перехожу в ruby 2.3 с новым параметром frozen_string_literal.Как объявить изменяемую строку в ruby 2.3 && ruby 3
Над каждым из моего файла добавить следующую строку:
# frozen_string_literal: true
a = String('test')
a.frozen? # true
a.gsub!('t', 'a') # raise error : OK
Он работает хорошо, но есть способ объявить что-то вроде этого:
a = MutableString('test')
a.frozen? # true
a.gsub!('t', 'a') # aesa
В настоящее время I чтобы он работал следующим образом:
a = 'test'.dup
a.frozen? # false
a.gsub!('t', 'a') # aesa
Но это немного уродливо.
вы имели в виду 'a.frozen? # false 'в последнем фрагменте? – steenslag
Да, извините за ошибку. :) – Naremy
Вы также имели в виду это во втором фрагменте? –