Corso di Raku / Avanzato / Controllo di flusso / Prefissi di istruzione / do e il valore di un blocco
Quiz — do
Cosa stampa il seguente programma?
my $s = do given -3 {
when $_ < 0 { 'neg' }
default { 'nonneg' }
};
say $s;| 1 | neg |
| 0 | nonneg |
| 0 | -3 |
| 0 | Nil |
do funziona davanti alle strutture di controllo, non
solo ai blocchi semplici. Qui do given trasforma l’intero
given/when in un’espressione. Il topic
-3 corrisponde a $_ < 0, quindi
l’espressione produce 'neg', che viene memorizzato in
$s.