Raku kurss / Objekti, ievade/izvade un izņēmumi / Ievade un izvade / Ārējo programmu palaišana 🆕 / Exercises / Pārtveriet izvadi
Risinājums: Pārtveriet izvadi
Šeit ir iespējams risinājums uzdevumam.
Kods
my $proc = run 'echo', 'hello world raku', :out;
my $output = $proc.out.slurp(:close).trim;
say $output.words.elems;🦋 Atrodiet programmu failā capture-output.raku.
Izvade
3Komentāri
:outnovirza programmas izvadiProciekšienē, nevis uz ekrānu, un.out.slurp(:close)to visu nolasa atpakaļ;.trimnoņem beigu jauno rindu, koechopievieno.Tiklīdz izvade mūsu programmā ir parasta virkne, mēs pret to izturamies kā pret jebkuriem citiem datiem:
.words.elemssadala to pa atstarpēm un saskaita gabalus, dodot3. Tāda arī ir noķeršanas jēga — ārējā programma kļūst par būvbloku, kura rezultātu apstrādājam tālāk.