Corso di Raku / Oggetti, input/output ed eccezioni / Input e output / Eseguire programmi esterni 🆕 / Exercises / Catturate l’output
Soluzione: Catturate l’output
Ecco una possibile soluzione del compito.
Codice
my $proc = run 'echo', 'hello world raku', :out;
my $output = $proc.out.slurp(:close).trim;
say $output.words.elems;🦋 Trova il programma nel file capture-output.raku.
Output
3Commenti
:outredirige l’output del programma dentro ilProcinvece che sullo schermo, e.out.slurp(:close)lo rilegge tutto;.trimtoglie il ritorno a capo finale cheechoaggiunge.Una volta che l’output è una stringa ordinaria nel nostro programma, lo trattiamo come qualunque altro dato:
.words.elemslo divide sugli spazi e conta i pezzi, dando3. È questo il senso della cattura: il programma esterno diventa un mattoncino il cui risultato elaboriamo ulteriormente.