Замораживание объекта (.freeze) делает его неизменяемым — его больше нельзя модифицировать. Основное применение — замороженные строковые литералы, которые улучшают производительность (строки переиспользуются вместо переаллокации) и предотвращают случайную мутацию. Современный Ruby поощряет использование замороженных строк.
freeze делает объекты неизменяемыми
config = { }.freeze
config[] =
= .freeze
str = .freeze
str.frozen?
str <<
