Corso di Raku / Appendice 🆕 / Flusso e funzioni / Subroutine e stile funzionale / Exercises / Descrivere in base al tipo
Soluzione: Descrivere in base al tipo
Ecco una possibile soluzione del compito.
Codice
multi describe(Int $x) { "integer $x" }
multi describe(Str $x) { "string $x" }
multi describe(@x) { "list of {@x.elems}" }
say describe(42);
say describe('hi');
say describe([1, 2, 3]);🦋 Trova il programma nel file multi-describe.raku.
Output
integer 42
string hi
list of 3Commenti
Ogni
multidà una versione didescribecon un tipo di parametro diverso. Raku sceglie il candidato corrispondente in base al tipo dell’argomento.La firma
@xcorrisponde a una lista, quindi l’array viene distribuito al terzo candidato, che ne riferisce la lunghezza.