RETRO on Unix hosts is designed to play well with scripting.
Shebang
To run an entire program directly, start the file with the standard
shebang and make the file executable:
#!/usr/bin/env retro
This requires the retro binary to be in your path.
Arguments
RETRO provides several words in the script: namespace for accessing
command line arguments.
The number of arguments can be accessed via script:arguments. This
will return a number with the arguments, other than the script name.
script:arguments '%n_arguments_passed\n s:format s:put
To retreive an argument, pass the argument number to script:get-argument:
script:arguments [ I script:get-argument s:put nl ] indexed-times
And to get the name of the script, use script:name.
script:name s:put
Mixing
With use of the Unu literate format, it's possible to mix both shell
and RETRO code into a single script. As an example, this is a bit of
shell that runs itself via retro for each .retro file in the current
directory tree:
#!/bin/sh
# shell part
find . -name '*.retro' -print0 | xargs -0 -n 1 retro $0
exit
# retro part
This will scan a source file and do something with it:
~~~
... do stuff ...
~~~