Curso de Raku / Objetos, entrada/salida y excepciones / Entrada y salida / Ejecutar programas externos 🆕 / Exercises / Capture la salida
Solución: Capture la salida
Aquí tienes una posible solución para la tarea.
Código
my $proc = run 'echo', 'hello world raku', :out;
my $output = $proc.out.slurp(:close).trim;
say $output.words.elems;🦋 Puedes encontrar el código fuente en el archivo capture-output.raku.
Salida
3Comentarios
:outredirige la salida del programa hacia elProcen lugar de a la pantalla, y.out.slurp(:close)la lee entera;.trimquita el salto de línea final que añadeecho.Una vez que la salida es una cadena ordinaria dentro de nuestro programa, la tratamos como cualquier otro dato:
.words.elemsla parte por los espacios y cuenta las piezas, dando3. Ese es el sentido de capturar: el programa externo se convierte en una pieza cuyo resultado procesamos después.