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 sensata cuando no se proporciona un argumento. Los valores de parámetros predeterminados te permiten definir cuál debe ser el valor de un parámetro si quien realiza la llamada no lo especifica.

Para establecer un valor predeterminado, usa 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 reemplaza el valor predeterminado.

Puedes mezclar parámetros normales con parámetros con valores predeterminados, pero los parámetros con valores predeterminados 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. Los llamadores 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 predeterminado de 1. El método debe devolver el producto de a y b.

Lee dos números enteros de la entrada:

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

Si solo se proporciona una entrada, llama al método solo con ese argumento (usando el valor predeterminado 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

Pruébalo tú mismo

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

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


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

# Imprime 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

Practica por tu cuenta: Compilador de Ruby online