Interpolación de strings, se trata de combinar strings, pero no usando el operador +. La interpolación de strings solo funciona cuando usamos comillas dobles («») para la formación de strings. La interpolación de strings proporciona una forma fácil de procesar literales de string. La interpolación de strings se refiere a la sustitución de variables o expresiones definidas en una string dada con valores respetados. Así es como funciona la interpolación de strings, ejecuta lo que sea ejecutable.
Veamos cómo ejecutar números y strings.
Sintaxis:
#{variable}
La sintaxis anterior especifica que las cosas dentro de {} son objetos o variables ejecutables.
A continuación se muestran los ejemplos para entender:
Ejemplo:
# Ruby Program of String Interpolation a = 1 b = 4 puts "The number #{a} is less than #{b}"
Producción :
The number 1 is less than 4
Ejemplo:
# Ruby Program of String Interpolation s = 'Groot'; n = 16 # takes this as entire new string puts "s age = n"; # interpolation puts "#{s} age=#{n}"; # if number not converted to string throws an error puts s+" age="+n.to_s;
s age=n Groot age=16 Groot age=16
Entonces, la única ventaja es que no tenemos que convertir números en una string porque Ruby se encarga de eso.
digamos string=”weds” En la concatenación de strings, si estamos concatenando strings como (“hela “+string+” puri”), crea 3 objetos de string, se mueve de derecha a izquierda, primero crea el objeto ” puri”1 , + método une el puri con la string existente y devuelve weds puri object2 y esto nuevamente se pega por el método + y forma el hela weds puri object3 final. Eventualmente, los objetos (1, 2) creados en este proceso se cancelan porque no sirven para nada.
En la interpolación de strings, crea un solo objeto para («hela «+string+» puri») e incrusta la string existente (wes) en él. En ambos casos, al final, crea un objeto, pero ¿por qué prefiere la interpolación sobre la concatenación? Dos razones, no hay necesidad de conversiones adicionales de tipos de datos a strings Ruby se encarga de ello y este proceso es el que la mayoría de los desarrolladores usan.
Secuencias de escape
Las strings no solo pueden contener texto. También pueden contener caracteres de control. La diferencia entre comillas simples o dobles es que las comillas dobles permiten secuencias de escape mientras que las comillas simples no lo permiten.
Ejemplo :
# Ruby program of sting Interpolation puts 'guardians\nGroot'; # gets executes and prints Groot on a newline. puts "guardians\nGroot"; # takes care of control characters. puts "hela\nweds\tpuri";
Producción:
guardians\nGroot guardians Groot hela weds puri
En el ejemplo anterior, \n es la secuencia de escape que representa el carácter de «nueva línea».