Menu
Coddy logo textTech

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 predefinito ragionevole quando non viene fornito un argomento. I valori predefiniti dei parametri ti permettono di definire quale valore deve 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 e parametri predefiniti, ma quelli con un valore predefinito devono venire dopo quelli senza:

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)

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

challenge icon

Sfida

Facile

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

Leggi due numeri interi dall'input:

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

Se viene fornito un solo input, chiama il metodo passando solo quell'argomento (usando il valore predefinito per b). Se vengono forniti due input, chiama il metodo passando 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 in 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 che 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