Menu
Coddy logo textTech

Valores de retorno

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 50 de 88.

Hasta ahora, nuestros métodos han realizado acciones como imprimir resultados. Pero los métodos se vuelven verdaderamente potentes cuando pueden devolver datos al código que los llamó. Para esto sirven los valores de retorno.

En Ruby, un método devuelve automáticamente el valor de su última expresión:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # Salida: 8

Observa que no hay puts dentro del método. En su lugar, el método calcula a + b y devuelve ese valor. Luego podemos guardarlo en una variable o usarlo directamente.

También puedes usar la palabra clave return de forma explícita:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # Salida: 20

La palabra clave return sale inmediatamente del método y devuelve el valor especificado. Esto es útil cuando deseas salir anticipadamente basándote en una condición. Ambos enfoques funcionan, pero los programadores de Ruby a menudo confían en los retornos implícitos para obtener un código más limpio.

Los valores de retorno te permiten encadenar operaciones y construir una lógica compleja a partir de métodos simples:

def double(n)
  n * 2
end

puts double(double(3))  # Salida: 12
challenge icon

Desafío

Fácil

Define un método llamado square que tome un parámetro n y devuelva el cuadrado de ese número (el número multiplicado por sí mismo).

Lee dos números enteros de la entrada. Usa el método square para calcular el cuadrado de cada número, luego imprime la suma de ambos cuadrados.

Por ejemplo, si las entradas son 3 y 4:

  • El cuadrado de 3 es 9
  • El cuadrado de 4 es 16
  • La suma es 25

La salida debería ser:

25

Si las entradas son 5 y 2, la salida debería ser:

29

Hoja de referencia

Los métodos pueden devolver valores al código que los llamó. En Ruby, un método devuelve automáticamente el valor de su última expresión:

def add(a, b)
  a + b
end

result = add(5, 3)
puts result  # Salida: 8

También puedes usar la palabra clave return de forma explícita para salir del método y devolver un valor:

def multiply(a, b)
  return a * b
end

puts multiply(4, 5)  # Salida: 20

Los valores de retorno te permiten encadenar llamadas a métodos:

def double(n)
  n * 2
end

puts double(double(3))  # Salida: 12

Pruébalo tú mismo

# Leer dos números enteros de la entrada
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i

# TODO: Definir el método square a continuación


# TODO: Calcular la suma de los cuadrados usando el método square e imprimir el resultado
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos