Interpolación de Strings
Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 2 de 56.
Ruby te permite incrustar variables y expresiones directamente dentro de una cadena de comillas dobles con #{...}. Esto se llama interpolación de cadenas.
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam tiene 30 años.La expresión dentro de #{...} puede ser cualquier cosa que Ruby evalúe:
price = 19.5
puts "Total: $#{price * 1.2}" # Total: $23.4La interpolación solo funciona en cadenas con comillas dobles. Las comillas simples tratan a #{...} como texto plano.
x = 5
puts "x is #{x}" # x es 5
puts 'x is #{x}' # x es #{x}Desafío
PrincipianteLee un nombre y una edad (dos líneas de entrada). Imprime una línea en el formato:
Hello, <name>! In 5 years you will be <age+5>.Para la entrada Alice y luego 30, la salida es:
Hello, Alice! In 5 years you will be 35.Hoja de referencia
La interpolación de cadenas incrusta variables/expresiones en cadenas con comillas dobles usando #{...}:
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam tiene 30 años.
puts "Total: $#{19.5 * 1.2}" # Total: $23.4Las comillas simples tratan a #{...} como texto plano — la interpolación solo funciona con comillas dobles.
Pruébalo tú mismo
name = gets.chomp
age = gets.to_i
# TODO: usar interpolación de cadenas para imprimir el mensaje
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Strings en profundidad
Visión general de los métodos de StringInterpolación de StringsIterar sobre StringsSplit y JoinRepaso - String Weaver4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end vs llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasResumen - Iterador personalizado7Hashes Parte 2
Hash.new con valores por defectoIteración de HashesHashes anidadosFusión y transformaciónResumen - Contador de frecuencia10Proyecto - Registros de Estudiantes
Descripción general del proyectoAgregar estudiante5Potencia de Enumerable
Select y RejectEncadenando MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byResumen - Data Pipeline