Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Enigo kaj eligo / Ruli eksterajn programojn 🆕 / Exercises / Transdonu variablon al ida procezo
Solvo: Transdonu variablon al ida procezo
Jen ebla solvo de la tasko.
Kodo
my $file = 'notes.txt';
spurt $file, "one\ntwo\nthree\n";
%*ENV<NOTES> = $file;
my $proc = shell 'wc -l < "$NOTES"', :out;
say $proc.out.slurp(:close).trim;
unlink $file;🦋 Vi povas trovi la fontkodon en la dosiero read-env.raku.
Eligo
3Komentoj
spurtkreasnotes.txtkun tri linioj. Starigi%*ENV<NOTES>al ĝia nomo metas la dosiernomon en la medion, kiun ĉiu ida programo heredos.La komando
shellheredas tiun medion, ekspansias$NOTESalnotes.txt, kaj enigas la dosieron enwc -l, kiu kalkulas ĝiajn liniojn. La redirektado< "$NOTES"tenas la eligon nur al la nombro3, kiun ni kaptas per:outkaj tondas.Fine la purigo estas farata reen en Raku per
unlink— neniu ŝelo bezonata. Forigi la dosieron estas simpla dosiersistema operacio, do ne estas kialo lanĉi alian procezon por ĝi.