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

Indices:
Concepts
Commands
Variables

### 9.3.17: if'

  if {[!] .flag.}|\flag|{{"string1" == "string2"}}' 

Control program flow. The if' block is ended with a line containing end if'. Optional else' and else if' blocks are allowed. Note that rpn expressions are allowed, and a special form of string comparison is allowed, as in the examples below.

  if .flag. # List of Gri commands to be done if .flag. is 1. # This list may extend across any number of lines. end if 

If the variable .flag.' is not equal to 0, do the code between the if' line and the end if' line.

  if .flag. # Commands done if .flag. is 1 else # Commands done if .flag. is 0 end if 

If the variable .flag.' is not equal to 0, do the code between the if' line and the else' line. If .flag.' is equal to 0, do the code between the else' line and the end if' line.

  if ! .flag. # Commands done if .flag. is 0 end if 

If the variable .flag.' is equal to 0, do the code between the if' line and the end if' line.

  if {rpn .flag. 10 <} # Commands done if 10 is less than .flag. end if 

If the variable .flag.' is greater than 10, do the code between the if' line and the end if' line.

  if \smooth # Commands done if \smooth is 1 else # Commands done if \smooth is 0 end if 

If the number stored in the synonym \smooth' is not equal to 0, do the code between the if' line and the else' line. If the synonym stores a representation of a number not equal to zero, do the else' part. If the synonym contains text that does not decode to a number, generate error message.

  if {"\item" == "Temperature"} # Commands done if the synonym \item is equal to the # indicated text string. end if 

If the synonym \item' has the value Temperature' stored in it, do the indicated code.

  if {rpn "\item" "Temperature" ==} # Commands done if the synonym \item # equals indicated text string. end if 

As above, but using the rpn' calculator (see rpn Mathematics).

  if {rpn "\item" "Temperature" !=} # ... end if 

As above, but do the indicated code if \item' is not equal to Temperature'.