Menu
Coddy logo textTech

Valores de retorno

Parte de la sección Fundamentos del Journey de R de Coddy — lección 48 de 78.

Hasta ahora, nuestras funciones han impreso la salida directamente. Pero a menudo querrás que una función calcule un valor y lo devuelva para que puedas usarlo en otro lugar de tu código. Aquí es donde entran en juego los valores de retorno.

Usa la función return() para devolver un valor desde tu función:

add <- function(a, b) {
  return(a + b)
}

result <- add(5, 3)
print(result)

Salida:

[1] 8

En lugar de imprimir dentro de la función, devolvemos la suma. El valor devuelto puede entonces almacenarse en una variable, usarse en cálculos o pasarse a otras funciones.

Esto hace que las funciones sean mucho más versátiles:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))

Salida:

[1] 16

En R, si no usas return(), la función devuelve automáticamente la última expresión evaluada. Sin embargo, el uso explícito de return() hace que tu código sea más claro y es especialmente útil cuando deseas salir de una función de forma anticipada.

challenge icon

Desafío

Fácil

Crea una función llamada calculate_power que reciba dos argumentos: base y exponent. La función debe devolver el resultado de elevar la base a la potencia del exponente (usando el operador ^).

Lee dos números de la entrada, conviértelos a valores numéricos y llama a tu función. Almacena el valor devuelto en una variable llamada result, luego imprime result.

Por ejemplo, si las entradas son 2 y 3, la salida debería ser:

[1] 8

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

[1] 25

Hoja de referencia

Las funciones pueden devolver valores utilizando la función return(). Esto le permite almacenar el resultado en una variable o utilizarlo en otras operaciones:

add <- function(a, b) {
  return(a + b)
}

result <- add(5, 3)
print(result)  # [1] 8

Los valores devueltos pueden utilizarse directamente en expresiones:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))  # [1] 16

En R, las funciones devuelven automáticamente la última expresión evaluada si no se utiliza return(). Sin embargo, el uso explícito de return() hace que el código sea más claro y permite salidas anticipadas de las funciones.

Pruébalo tú mismo

# Leer la entrada
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: Crear una función llamada calculate_power que tome base y exponent
# y devuelva la base elevada a la potencia del exponente usando el operador ^


# TODO: Llamar a tu función con los valores de entrada y almacenar el resultado en 'result'


# Imprimir el resultado
print(result)
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