Chapters: 1: Introduction 2: Simple example 3: Invocation 4: Finer Control 5: X-Y Plots 6: Contour Plots 7: Image Plots 8: Examples 9: Gri Commands 10: Programming 11: Environment 12: Emacs Mode 13: History 14: Installation 15: Gri Bugs 16: Test Suite 17: Gri in Press 18: Acknowledgments 19: License Indices: Concepts Commands Variables |
9.3.40: `
|
`rpnfunction name replacement-words' |
Create a new keyword for use in rpn expressions. Inside any RPN
expression which follows this line, the word `name
' will be
substituted with the indicated replacement words.
For example,
the following shows the definition and use of a function which computes
the sine of twice an angle, by multiplying whatever is on the stack by
`2
', and then taking the sine of the result.
rpnfunction sin2 2 * sin show "expect the number 1 to follow: " {rpn 45 sin2} |
The replacement words will have any synonyms in them translated first,
unless they start with an underscore followed by a double backslash.
Similarly, variables are substituted unless they start with an
underscore. These exceptions are to allow the use of the `defined
'
operator (see rpn Mathematics).
Note: The mathematical constants `e
' and `pi
' are stored using
`rpnfunctions
'. Also, two `rpnfunctions
' are provided for
finding the slope and intercept of a line joining two points, e.g.
# Expect answers 1 and 10 ... show "slope=" {rpn 0 1 1 11 linear_slope} show "inter=" {rpn 0 1 1 11 linear_intercept} |
These are useful in `set grid missing above .intercept. .slope.
'
and `set z missing above .intercept. .slope.
'.