Back: Define variable Forward: Print expression   FastBack: Basics Up: Simple Statements FastForward: Flow control         Top: Yorick Contents: Table of Contents Index: Concept Index About: About this document

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:

 
hcp
 fma
 

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.