Corso di Raku / Avanzato / Operatori / Trait e pragma / Exercises / Un parametro scrivibile
Soluzione: Un parametro scrivibile
Ecco una possibile soluzione.
Codice
sub double($n is rw) {
$n *= 2;
}
my $score = 21;
double($score);
say $score;🦋 Puoi trovare il codice sorgente nel file writable-parameter.raku.
Output
42Commenti
is rwlega il parametro$nalla variabile del chiamante$score, quindi$n *= 2all’interno didoublemodifica$scorestesso — ecco perché stampa42.Senza
is rw, il parametro sarebbe in sola lettura e$n *= 2causerebbe un errore di compilazione. Contrassegnandolo conis copysi darebbe adoubleuna copia privata da modificare, lasciando$scoreinalterato a21.