Corso di Raku / Fondamenti / Tipi di dati associativi / Esercizi / Già visto?
Soluzione: Già visto?
Questo compito è un classico esempio di utilizzo di un hash per tenere traccia degli elementi. Prima di un ciclo, viene creato un hash %seen
. All’interno del ciclo, la parola inserita $word
serve come chiave dell’hash.
Codice
Ecco la soluzione:
my %seen;
loop {
my $word = prompt 'Parola: ';
if %seen{$word} {
say %seen{$word} == 1 ?? 'Visto!' !! say "Visto %seen{$word} volte!";
}
%seen{$word}++;
}
🦋 Trova il programma nel file seen-before.raku.
Output
$ raku exercises/associatives/seen-before.raku
Parola: Io
Parola: mai
Parola: visto
Parola: un
Parola: visto
Visto!
Parola: che
Parola: visto
Visto 2 volte!
Vero
Parola: come
Parola: che
Visto!
Parola: visto
Visto 3 volte!
Vero
Parola: segato
Parola: ^C
Commento
La costruzione %seen{$word}++
non solo incrementa il valore ma lo crea anche se non esiste ancora. Il processo di creazione è chiamato autovivificazione. Nota che non accade quando si legge solo il valore come nella condizione: if %seen{$word}
.
Prossimo esercizio
Navigazione del corso
← Tipi di dati posizionali / Sottoscrizione degli intervalli | Creazione e chiamata di funzioni →
Questa pagina è tradotta automaticamente con ChatGPT 4o. Testo originale in inglese.
Traduzioni di questa pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська