Corso di Raku / Oggetti, input/output ed eccezioni / Input e output / Eseguire programmi esterni 🆕 / L’oggetto Proc

Quiz — L’oggetto Proc

Cosa stampa il programma seguente?

my $proc = run 'sh', '-c', 'exit 2', :out;
$proc.out.slurp(:close);
say $proc.exitcode;
00
12
0True
0un errore

.exitcode è l’intero restituito dal programma — qui alla shell è stato detto exit 2, quindi è 2. Il programma non solleva eccezioni: il Proc fallito è conservato in $proc e ispezionato con .exitcode, e guardare il risultato conta come gestirlo. (Un’eccezione nascerebbe solo se un Proc fallito venisse scartato senza controllo.)

L’oggetto Proc   |   L’ambiente