Menu
CoddyTech

Valores de Parâmetro Padrão

Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 53 de 88.

Às vezes, você quer que um método tenha um valor padrão sensato quando um argumento não é fornecido. Os valores padrão de parâmetros permitem definir qual deve ser o valor de um parâmetro se quem chama o método não o especificar.

Para definir um valor padrão, use o sinal = depois do nome do parâmetro:

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

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

Quando você chama greet sem um argumento, Ruby usa "friend" como padrão. Quando você fornece um argumento, ele substitui o padrão.

Você pode misturar parâmetros comuns com parâmetros que têm valores padrão. Os parâmetros com valores padrão geralmente vêm depois daqueles sem valores padrão, e um parâmetro comum não pode ficar entre dois parâmetros com valores padrão:

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

puts power(5)     # Exibe: 25 (5 ao quadrado)
puts power(2, 3)  # Exibe: 8 (2 ao cubo)

Isso torna os métodos mais flexíveis. Quem os chama pode fornecer apenas as informações essenciais, enquanto os detalhes opcionais recorrem a valores padrão razoáveis.

challenge icon

Desafio

Fácil

Defina um método chamado multiply que recebe dois parâmetros: a e b. O parâmetro b deve ter um valor padrão de 1. O método deve retornar o produto de a e b.

Leia dois números inteiros da entrada:

  1. O primeiro número (sempre será fornecido)
  2. O segundo número (pode ou não ser fornecido)

Se apenas uma entrada for fornecida, chame o método apenas com esse argumento (usando o valor padrão para b). Se duas entradas forem fornecidas, chame o método com ambos os argumentos.

Imprima o resultado da chamada do método.

O formato da entrada será:

  • Primeira linha: o primeiro número
  • Segunda linha: um número ou a palavra none

Por exemplo, se as entradas forem 7 e 3:

21

Se as entradas forem 5 e none:

5

Se as entradas forem 12 e 4:

48

Experimente você mesmo

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

# TODO: Defina o método multiply com o parâmetro b tendo um valor padrão de 1


# TODO: Chame o método adequadamente, dependendo de b_input ser "none" ou um número
# Se b_input for "none", chame multiply apenas com a
# Se b_input for um número, chame multiply com a e b

# Imprima o resultado
puts result
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Ruby online