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: 8Observa 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: 20La 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: 12Desafío
FácilDefine 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:
25Si las entradas son 5 y 2, la salida debería ser:
29Hoja 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: 8Tambié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: 20Los valores de retorno te permiten encadenar llamadas a métodos:
def double(n)
n * 2
end
puts double(double(3)) # Salida: 12Prué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 resultadoEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso