Menu
CoddyTech

Valori predefiniti dei parametri

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 53 di 88.

A volte vuoi che un metodo abbia un valore di ripiego ragionevole quando non viene fornito un argomento. I valori predefiniti dei parametri ti consentono di definire quale valore debba avere un parametro se chi chiama il metodo non lo specifica.

Per impostare un valore predefinito, usa il segno = dopo il nome del parametro:

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

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

Quando chiami greet senza un argomento, Ruby usa "friend" come valore predefinito. Quando fornisci un argomento, questo sostituisce il valore predefinito.

Puoi combinare parametri normali con parametri predefiniti. I parametri con valori predefiniti di solito vengono dopo quelli senza, e un parametro normale non può trovarsi tra due parametri con valori predefiniti:

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

puts power(5)     # Stampa: 25 (5 al quadrato)
puts power(2, 3)  # Stampa: 8 (2 al cubo)

Questo rende i metodi più flessibili. Chi li chiama può fornire solo le informazioni essenziali, mentre i dettagli facoltativi ricorrono a valori predefiniti ragionevoli.

challenge icon

Sfida

Facile

Definisci un metodo chiamato multiply che accetta due parametri: a e b. Il parametro b deve avere un valore predefinito pari a 1. Il metodo deve restituire il prodotto di a e b.

Leggi due numeri interi dall'input:

  1. Il primo numero (sarà sempre fornito)
  2. Il secondo numero (potrebbe essere fornito oppure no)

Se viene fornito un solo input, chiama il metodo con solo quell'argomento (usando il valore predefinito per b). Se vengono forniti due input, chiama il metodo con entrambi gli argomenti.

Stampa il risultato della chiamata al metodo.

Il formato dell'input sarà:

  • Prima riga: il primo numero
  • Seconda riga: un numero oppure la parola none

Ad esempio, se gli input sono 7 e 3:

21

Se gli input sono 5 e none:

5

Se gli input sono 12 e 4:

48

Provalo tu

# Leggi l'input
a = gets.chomp.to_i
b_input = gets.chomp

# TODO: Definisci il metodo multiply con il parametro b che ha un valore predefinito di 1


# TODO: Chiama il metodo nel modo appropriato a seconda che b_input sia "none" o un numero
# Se b_input è "none", chiama multiply passando solo a
# Se b_input è un numero, chiama multiply passando sia a sia b

# Stampa il risultato
puts result
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online