Corso di Raku / Fondamenti / Creazione e chiamata di funzioni
Parametri nominati
In contrasto con i parametri posizionali, i parametri nominati sono riferiti dai loro nomi.
La seguente funzione prende due parametri chiamati $from
e $to
.
sub distance(:$from, :$to) { $from - $to }
Ora, per chiamare la funzione, è necessario nominare gli argomenti:
say distance(from => 30, to => 10); # 20
È un errore passare gli argomenti come se fossero posizionali. Ad esempio, una chiamata distance(30, 10)
genera un errore:
Troppi posizionali passati; previsti 0 argomenti ma ne sono stati ricevuti 2
in sub distance at t.raku line 1
in block <unit> at t.raku line 2
La parte buona è che gli argomenti nominati possono essere elencati in qualsiasi ordine. Le seguenti due chiamate sono totalmente equivalenti:
say distance(from => 30, to => 10); # 20
say distance(to => 10, from => 30); # 20
Passare variabili
Quando il valore che vuoi passare a una funzione è contenuto in una variabile, il cui nome coincide con il nome del parametro, puoi usufruire di una sintassi speciale che riduce la digitazione:
my $from = 30;
my $to = 10;
say distance(:$from, :$to); # 20
Questo è simile a una chiamata prolissa:
say distance(from => $from, to => $to); # 20
Anche in questo caso, l’ordine non è rigido:
say distance(:$to, :$from); # 20
Se il nome della variabile differisce dal nome del parametro, usa uno dei modi per passare una coppia:
my $a = 20;
my $b = 10;
say distance(from => $a, to => $b);
# oppure:
say distance(:from($a), :to($b));
Pratica
Completa i quiz che coprono i contenuti di questo argomento.
Navigazione del corso
← Creazione e chiamata di funzioni / Parametri posizionali | Creazione e chiamata di funzioni / Valori predefiniti →
💪 Or jump directly to the exercises to this section.
Questa pagina è tradotta automaticamente con ChatGPT 4o. Testo originale in inglese.
Traduzioni di questa pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська