ExpertiDict

Ruby · Intermediário · Inglês · Técnico

frozen string literal

/ˈfroʊzən strɪŋ ˈlɪtərəl/substantivo

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.

Veja também

Todos os termos de Ruby