1.1.2 Invoking a procedure
A Yorick function which has side effects may sensibly be invoked as a procedure, discarding the value returned by the function, if any:
plg, sin(theta)*exp(-theta/6), theta write, file, theta, sin(theta)*exp(-theta/6) close, file
The plg function plots a graph on your screen -- in this case, three cycles of a damped sine wave. The graph is made by connecting 200 closely spaced points by straight lines.
The write function writes a two column, 200 line table of values of the same damped sine wave to the file `damped.txt'. Then close closes the file, making it unavailable for any further write operations.
A line which ends with a comma will be continued, to allow procedures with long argument lists. For example, the write statement could have been written:
write, file, theta, sin(theta)*exp(-theta/6)
A procedure may be invoked with zero arguments; several graphics functions are often used in this way:
The hcp function writes the current graphics window contents to a "hardcopy file" for later retrieval or printing. The fma function stands for "frame advance" -- subsequent plotting commands will draw on a fresh page. Normally, plotting commands such as plg draw on top of whatever has been drawn since the previous fma.