Interpolação de strings
O curso trata de como o Ruby monta strings com interpolação. Compara o #{} com a concatenação por + e <<, incluindo TypeError, FrozenError e bugs de apelido. Mostra chamadas de método, aritmética e strings aninhadas dentro das chaves, com um padrão de plural que depende de nil.to_s devolver string vazia. Explica como heredocs interpolam e como escapar ou desligar isso. Apresenta format, sprintf e % para casas decimais e preenchimento. Fecha com os marcadores %{} do I18n do Rails em arquivos YAML.
O que você vai aprender
- ✓Por que a interpolação chama .to_s e evita o TypeError do +
- ✓Como o << muda strings no lugar e causa bugs de apelido
- ✓Chamadas de método, aritmética e strings aninhadas dentro de #{}
- ✓Como escapar e desligar a interpolação em heredocs
- ✓Casas decimais e preenchimento com format, sprintf e %
- ✓Marcadores %{} com I18n.t do Rails em arquivos de tradução
Interpolação vs. concatenação
Rode essa última linha e o Ruby levanta TypeError: no implicit conversion of Integer into String. O + em strings exige que os dois lados já sejam strings, e age é um Integer. Você teria de escrever age.to_s à mão para a linha funcionar. A interpolação evita o problema:
Ler a aula completa grátis →Currículo
7 aulasInterpolação vs. concatenação
Compara o #{} com a concatenação por + e <<, cobrindo .to_s, aspas simples e strings mutáveis compartilhadas.
Chamando métodos dentro da interpolação
Mostra que o #{} avalia expressões completas e quando a lógica deve ir antes para uma variável com nome.
Interpolação aninhada
Explica a resolução de dentro para fora do aninhamento e um padrão de plural baseado em nil.to_s vazio.
Interpolação dentro de heredocs
Trata da interpolação em heredocs, do escape com barra invertida, das formas <<~ e <<- e de marcadores com aspas simples.
format, sprintf e %
Usa format, sprintf e String#% para fixar casas decimais e preencher números e strings numa linha de recibo.
A interpolação do Rails: I18n e %{}
Explica por que arquivos de tradução do Rails usam marcadores %{} preenchidos pelo I18n.t no lugar do #{} do Ruby.
Juntando tudo sobre interpolação
Revisa todas as ferramentas com o exemplo receipt_line e uma tabela que separa o #{} do %{}.