Corso di Raku / Fondamenti / Tipi di dati posizionali / Esercizi / Semafori
Soluzione: Semafori
L’idea della soluzione è di ‘ciclare l’indicizzazione’ dell’array con i quattro stati dei semafori:
my @lights = <yellow red yellow green>;
Durante i primi secondi, il numero di secondi dall’inizio può essere utilizzato direttamente come indice nell’array. Quando supera 3, puoi riportarlo all’inizio dell’array con l’operatore modulo %
. La lunghezza dell’array è @lights.elems
, ma quando viene utilizzata come operando di %
, non è necessario chiamare il metodo elems
, poiché il nome dell’array verrà convertito in un numero, e quella conversione è progettata per restituire il numero di elementi.
Codice
Ecco la soluzione:
my @lights = <yellow red yellow green>;
say @lights[51 % @lights];
say @lights[102 % @lights];
say @lights[305 % @lights];
🦋 Trova il programma nel file traffic-lights.raku.
Output
Esegui il programma. Inoltre, prova altri valori nel programma.
$ raku exercises/positionals/traffic-lights.raku
green
yellow
red
Prossimo esercizio
Navigazione del corso
← Variabili tipizzate / Allomorfi | Tipi di dati associativi →
Questa pagina è tradotta automaticamente con ChatGPT 4o. Testo originale in inglese.
Traduzioni di questa pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська