Elixir:
Interpolando uma string

Como Fazer:

nome = "João"
idade = 29

# Interpolação básica com #{}
mensagem = "Olá, #{nome}, você tem #{idade} anos."
IO.puts(mensagem)

# Output:
# Olá, João, você tem 29 anos.

Interpolar strings é direto. Use #{} para encaixar variáveis ou códigos no meio do texto.

# Expressões dentro da interpolação
comprimento = 15
largura = 10
mensagem_area = "A área do retângulo é #{comprimento * largura} metros quadrados."
IO.puts(mensagem_area)

# Output:
# A área do retângulo é 150 metros quadrados.

Aprofundamento

Antes de Elixir, outras linguagens como Ruby e Perl já suportavam interpolação de strings. A interpolação em Elixir é feita em tempo de compilação, o que significa que é transformada em código executável juntamente com o restante do programa. Isso traz eficiência, já que não há processamento extra em tempo de execução.

Alternativas à interpolação incluem concatenação manual de strings com o operador <>, mas isso pode tornar o código mais difícil de ler e manter.

# Concatenação manual
mensagem_concatenada = "Olá, " <> nome <> ", você tem " <> Integer.to_string(idade) <> " anos."
IO.puts(mensagem_concatenada)

No entanto, a interpolação só pode ser usada dentro de strings delimitadas por aspas duplas. Aspas simples criam sigils que não suportam interpolação.

Elixir também oferece a capacidade de transformar qualquer tipo de dado em uma string dentro do bloco de interpolação, chamando automaticamente a função to_string se necessário, o que facilita a integração de diferentes tipos de dados.

Veja Também