Interpolação de cordas de rubi

Interpolação de cordas de rubi
Interpolação de string refere -se ao processo de adicionar espaço reservado que faz referência a outros valores em um objeto String. Os valores interpolados em uma string são avaliados em seus valores correspondentes. A interpolação de string pode ser vista como uma forma de injeção de modelo.

Neste guia, discutiremos como interpolar strings na linguagem de programação do rubi.

Usando + operador

A maneira mais fácil de interpolar os valores em uma corda literal é usar o operador de adição. Considere o exemplo mostrado abaixo:

nome = "Alice"
coloca "hello" + nome

No exemplo acima, declaramos uma variável chamada nome. Ele mantém o valor "Alice". Usando o operador de adição, interpolamos em um valor de string.

O intérprete Ruby buscará o valor referenciado pelo nome da variável e o usará como o valor real. A saída resultante é como mostrado:

$ Ruby Interpolation.rb
Olá Alice

O operador de adição contém uma desvantagem ao interpolar variáveis ​​em uma string. Funciona apenas com objetos de strings.

Veja o exemplo abaixo:

idade = 10
coloca "eu sou" + idade + "anos"

Se você tentar executar tal operação, Ruby retornará um TypeError

'+': sem conversão implícita de nada em String (TypeError)

Uma maneira de resolver esse problema é converter a variável em uma string usando o método to_s.

Por exemplo:

idade = 10
puts ("eu sou" + idade.to_s + "anos de idade")

Agora podemos injetar a variável inteira na string, lançando -a como uma string.

Usando o << Operator

O operador de turno esquerdo funciona de maneira semelhante ao operador de adição. Injeta a variável passada em uma string literal.

Exemplo:

Lang = "Ruby"
coloca Lang << " is an fun!"

Semelhante ao operador de adição, você deve converter a variável em uma string para impedir que os TypeRors.

Usando #

Os dois métodos que discutimos acima mantêm uma única desvantagem; Fica complicado executar uma expressão dentro de uma corda literal.

Dê uma olhada no exemplo abaixo:

raio = 7.43
coloca "a área do Cirlcle of Radius" + raio.to_s + "is" + raio * raio * 3.141 + "cm2"

A operação acima não é possível usando os métodos que discutimos acima.

Para resolver isso, podemos usar o operador de substituição de expressão em Ruby:

A sintaxe é como:

#variável

Colocamos a variável ou expressão dentro do par de aparelhos encaracolados. Ruby avaliará a expressão e interpolará na corda.

Considere o exemplo anterior usando o operador de interpolação.

raio = 7.43
coloca "a área do cirlcle de raio #raio é #raio * raio * 3.141 cm2 "

Isso é muito melhor. Usando a notação acima, podemos injetar uma única variável e expressões de rubi válidas dentro de uma string.

Abaixo está a saída resultante:

$ ruby ​​substring.rb
A área do Cirlcle de Radius 7.43 é 173.3985909 cm2

Nesse caso, não precisamos executar a expressão, convertê -la em uma string e depois interpolá -la na string.

Usando este método, Ruby cuidará de tudo.

Conclusão

Este guia ilustrou como trabalhar com interpolação de string na linguagem rubi usando recursos como o operador de adição, o turno esquerdo e o operador de substituição de expressão.