No hay diferencia entre esas dos piezas de código, como es.
clase Foo
def to_s
“bar”
fin
fin
# Sección IRB
> x = Foo.nuevo
- ¿Cuáles son las aplicaciones de la teoría de números en informática aparte de los problemas de programación en jueces en línea?
- ¿Hay más, menos o el mismo número de números entre cero y uno, ya que hay más de uno?
- ¿Cuál es la raíz cuadrada del número de Graham?
- ¿Existe una relación intuitiva entre los armónicos y la enésima raíz de un número?
- Cómo crear un cuadrado mágico
> pone x
bar
> pone “# {x}”
bar
En el primer caso, se llama al método to_s del objeto y se muestra en la consola. Más adelante, se llama al método to_s del objeto dentro del # {} y se concatena con el contenido de la cadena.
En este caso, dado que no hay contenido de cadena aparte de la parte # {}, no hay diferencia.
Cuando desee formatear la salida, la notación # {} es muy útil. Como ya se mencionó aquí, se llama interpolación de cadenas .
Esas dos líneas de código son similares:
pone “Hey” + user.first_name + “, ¿cómo estás?”
pone “Hola # {user.first_name}, ¿cómo estás?”
Al menos para mí, es bastante más fácil escribir, comprender y formatear código usando la interpolación de cadenas. Este tipo de interpolación es realmente bastante simple si se compara con las directivas de formato de printf en C, pero de todos modos es bastante útil.