Ruby · Intermediário · Inglês · Técnico
frozen string literal
Comentário mágico que torna imutáveis todos os literais de string do arquivo. Reduz alocações e evita alterações acidentais; mudar uma string congelada levanta FrozenError.
Onde usar
Aparece na primeira linha de muitos arquivos Ruby e é recomendado por guias de estilo. No code review, use dup ou +'' quando precisar de uma string mutável.
Em código
# frozen_string_literal: true
s = 'oi'
p s.frozen? # => true
s << '!' # FrozenError
t = +'oi' # string mutável
t << '!' # => "oi!"Exemplos
Add the frozen string literal comment at the top of the file.
Adicione o comentário de frozen string literal no topo do arquivo.
It raised FrozenError because the literal is frozen.
Deu FrozenError porque o literal está congelado.
Cuidado
Vale só para literais daquele arquivo: strings vindas de outros métodos ou de interpolação continuam mutáveis.