Menu
CoddyTech

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 un valor alternativo razonable cuando no se proporciona un argumento. Los valores predeterminados de los parámetros 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 predeterminados. Los parámetros con valores predeterminados suelen ir después de los que no los tienen, y un parámetro normal no puede estar entre dos parámetros con valores predeterminados:

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

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

Esto hace que los métodos sean más flexibles. Quienes los llaman 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 tome 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 de 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

# Lee la entrada
a = gets.chomp.to_i
b_input = gets.chomp

# TODO: Define el método multiply con el parámetro b que tenga un valor predeterminado de 1


# TODO: Llama al método según 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