Menu
Coddy logo textTech

Valores de parámetros por defecto

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

A veces quieres que un método tenga una alternativa razonable cuando no se proporciona un argumento. Los valores de parámetros por defecto te permiten definir qué debe ser un parámetro si el llamador no lo especifica.

Para establecer un valor predeterminado, utiliza el signo = después del nombre del parámetro:

def greet(name = "friend")
  puts "Hello, #{name}!"
end

greet("Alice")  # Salida: Hello, Alice!
greet           # Salida: Hello, friend!

Cuando llamas a greet sin un argumento, Ruby usa "friend" como valor predeterminado. Cuando proporcionas un argumento, este anula el valor predeterminado.

Puedes mezclar parámetros regulares con parámetros por defecto, pero los parámetros con valores por defecto deben ir después de los que no los tienen:

def power(base, exponent = 2)
  base ** exponent
end

puts power(5)     # Salida: 25 (5 al cuadrado)
puts power(2, 3)  # Salida: 8 (2 al cubo)

Esto hace que los métodos sean más flexibles. Quienes realizan las llamadas pueden proporcionar solo la información esencial, mientras que los detalles opcionales recurren a valores predeterminados razonables.

challenge icon

Desafío

Fácil

Define un método llamado multiply que acepte dos parámetros: a y b. El parámetro b debe tener un valor por defecto de 1. El método debe devolver el producto de a y b.

Lee dos enteros de la entrada:

  1. El primer número (siempre se proporcionará)
  2. El segundo número (puede o no proporcionarse)

Si solo se proporciona una entrada, llama al método solo con ese argumento (usando el valor por defecto para b). Si se proporcionan dos entradas, llama al método con ambos argumentos.

Imprime el resultado de la llamada al método.

El formato de entrada será:

  • Primera línea: el primer número
  • Segunda línea: un número o la palabra none

Por ejemplo, si las entradas son 7 y 3:

21

Si las entradas son 5 y none:

5

Si las entradas son 12 y 4:

48

Hoja de referencia

Los valores de parámetros por defecto proporcionan valores de respaldo cuando no se proporcionan argumentos. Usa el signo = después del nombre del parámetro para establecer un valor por defecto:

def greet(name = "friend")
  puts "Hello, #{name}!"
end

greet("Alice")  # Salida: Hello, Alice!
greet           # Salida: Hello, friend!

Los parámetros con valores por defecto deben ir después de los parámetros sin valores por defecto:

def power(base, exponent = 2)
  base ** exponent
end

puts power(5)     # Salida: 25 (5 al cuadrado)
puts power(2, 3)  # Salida: 8 (2 al cubo)

Pruébalo tú mismo

# Leer entrada
a = gets.chomp.to_i
b_input = gets.chomp

# TODO: Definir el método multiply con el parámetro b teniendo un valor por defecto de 1


# TODO: Llamar al método apropiadamente basándose en si b_input es "none" o un número
# Si b_input es "none", llamar a multiply solo con a
# Si b_input es un número, llamar a multiply con a y b

# Imprimir el resultado
puts 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