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: $HOME

Opmerkingen

  1. run start echo rechtstreeks en geeft elke string als afzonderlijk argument mee. Zonder :out gaat de uitvoer van het programma regelrecht naar het scherm.

  2. Het argument bereikt echo precies zoals geschreven: $HOME wordt letterlijk afgedrukt en niet door je thuismap vervangen, omdat er geen shell bij betrokken is om het te expanderen. Daarom is run de veilige standaardkeuze — hetzelfde commando aan shell gegeven zou zich heel anders kunnen gedragen.

  3. Om de thuismap werkelijk af te drukken, laat je een shell de expansie doen: shell 'echo home: $HOME' drukt zoiets af als home: /home/anna. (Houd de enkele aanhalingstekens ook aan de Raku-kant — een "$HOME" met dubbele aanhalingstekens zou Raku zelf een variabele met de naam $HOME laten interpoleren voordat echo ook maar draait.)

Cursusnavigatie

Voer een opdracht uit   |   Vang de uitvoer op