Cursus Raku / Objecten, in- en uitvoer en excepties / Invoer en uitvoer / Externe programma’s uitvoeren 🆕 / Exercises / Voer een opdracht uit
Oplossing: Voer een opdracht uit
Hier is een mogelijke oplossing voor de taak.
Code
run 'echo', 'home:', '$HOME';🦋 Je kunt de broncode vinden in het bestand run-a-command.raku.
Uitvoer
home: $HOMEOpmerkingen
runstartechorechtstreeks en geeft elke string als afzonderlijk argument mee. Zonder:outgaat de uitvoer van het programma regelrecht naar het scherm.Het argument bereikt
echoprecies zoals geschreven:$HOMEwordt letterlijk afgedrukt en niet door je thuismap vervangen, omdat er geen shell bij betrokken is om het te expanderen. Daarom isrunde veilige standaardkeuze — hetzelfde commando aanshellgegeven zou zich heel anders kunnen gedragen.Om de thuismap werkelijk af te drukken, laat je een shell de expansie doen:
shell 'echo home: $HOME'drukt zoiets af alshome: /home/anna. (Houd de enkele aanhalingstekens ook aan de Raku-kant — een"$HOME"met dubbele aanhalingstekens zou Raku zelf een variabele met de naam$HOMElaten interpoleren voordatechoook maar draait.)