<html> <head> <title>Gri: `if' command</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000"> <!-- newfile If.html "Gri: `if' command" "Gri Commands" --> <!-- @node If, Ignore, Help, List Of Gri Commands --> <a name="If" ></a> <img src="./resources/top_banner.gif" usemap="#navigate_top" border="0"> <table summary="top banner" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="150" valign="top"> <font size=-1> <br> Chapters: </br> <a href="Introduction.html">1: Introduction</a><br> <a href="SimpleExample.html">2: Simple example</a><br> <a href="InvokingGri.html">3: Invocation</a><br> <a href="GettingMoreControl.html">4: Finer Control</a><br> <a href="X-Y.html">5: X-Y Plots</a><br> <a href="ContourPlots.html">6: Contour Plots</a><br> <a href="Images.html">7: Image Plots</a><br> <a href="Examples.html">8: Examples</a><br> <a href="Commands.html">9: Gri Commands</a><br> <a href="Programming.html">10: Programming</a><br> <a href="Environment.html">11: Environment</a><br> <a href="Emacs.html">12: Emacs Mode</a><br> <a href="History.html">13: History</a><br> <a href="Installation.html">14: Installation</a><br> <a href="Bugs.html">15: Gri Bugs</a><br> <a href="TestSuite.html">16: Test Suite</a><br> <a href="Acknowledgments.html">17: Acknowledgments</a><br> <a href="License.html">18: License</a><br> <br> Indices:</br> <a href="ConceptIndex.html"><i>Concepts</i></a><br> <a href="CommandIndex.html"><i>Commands</i></a><br> <a href="BuiltinIndex.html"><i>Variables</i></a><br> </font> <td width="500" valign="top"> <map name="navigate_top"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="ListOfGriCommands.html#ListOfGriCommands" shape="rect" coords="516,2,532,24" href="ListOfGriCommands.html#ListOfGriCommands"> <area alt="Gri: `help' command" shape="rect" coords="557,2,573,24" href="Help.html"> <area alt="Gri: `ignore' command" shape="rect" coords="581,2,599,24" href="Ignore.html"> </map> <map name="navigate_bottom"> <area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top"> <area alt="Gri: `ignore' command" shape="rect" coords="581,2,599,24" href="Ignore.html"></map> <h3>9.3.16: `<font color="#82140F"><code>if</code></font>'</h3> <!-- latex: \index{if} --> (<b>See also</b> see <a href="IfStatements.html#IfStatements">If Statements</a>.) <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> `if {[!] .flag.}|\flag|{{"string1" == "string2"}}' </font></PRE> </TD> </TR> </TABLE> <p> Control program flow. The `<font color="#82140F"><code>if</code></font>' block is ended with a line containing `<font color="#82140F"><code>end if</code></font>'. Optional `<font color="#82140F"><code>else</code></font>' and `<font color="#82140F"><code>else if</code></font>' blocks are allowed. Note that rpn expressions are allowed, and a special form of string comparison is allowed, as in the examples below. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if .flag. # List of Gri commands to be done if .flag. is 1. # This list may extend across any number of lines. end if </font></PRE> </TD> </TR> </TABLE> <p> If the variable `<font color="#82140F"><code>.flag.</code></font>' is not equal to 0, do the code between the `<font color="#82140F"><code>if</code></font>' line and the `<font color="#82140F"><code>end if</code></font>' line. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if .flag. # Commands done if .flag. is 1 else # Commands done if .flag. is 0 end if </font></PRE> </TD> </TR> </TABLE> <p> If the variable `<font color="#82140F"><code>.flag.</code></font>' is not equal to 0, do the code between the `<font color="#82140F"><code>if</code></font>' line and the `<font color="#82140F"><code>else</code></font>' line. If `<font color="#82140F"><code>.flag.</code></font>' is equal to 0, do the code between the `<font color="#82140F"><code>else</code></font>' line and the `<font color="#82140F"><code>end if</code></font>' line. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if ! .flag. # Commands done if .flag. is 0 end if </font></PRE> </TD> </TR> </TABLE> <p> If the variable `<font color="#82140F"><code>.flag.</code></font>' is equal to 0, do the code between the `<font color="#82140F"><code>if</code></font>' line and the `<font color="#82140F"><code>end if</code></font>' line. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if {rpn .flag. 10 <} # Commands done if 10 is less than .flag. end if </font></PRE> </TD> </TR> </TABLE> <p> If the variable `<font color="#82140F"><code>.flag.</code></font>' is greater than 10, do the code between the `<font color="#82140F"><code>if</code></font>' line and the `<font color="#82140F"><code>end if</code></font>' line. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if \smooth # Commands done if \smooth is 1 else # Commands done if \smooth is 0 end if </font></PRE> </TD> </TR> </TABLE> <p> If the number stored in the synonym `<font color="#82140F"><code>\smooth</code></font>' is not equal to 0, do the code between the `<font color="#82140F"><code>if</code></font>' line and the `<font color="#82140F"><code>else</code></font>' line. If the synonym stores a representation of a number not equal to zero, do the `<font color="#82140F"><code>else</code></font>' part. If the synonym contains text that does not decode to a number, generate error message. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if {"\item" == "Temperature"} # Commands done if the synonym \item is equal to the # indicated text string. end if </font></PRE> </TD> </TR> </TABLE> <p> If the synonym `<font color="#82140F"><code>\item</code></font>' has the value `<font color="#82140F"><code>Temperature</code></font>' stored in it, do the indicated code. <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if {rpn "\item" "Temperature" ==} # Commands done if the synonym \item # equals indicated text string. end if </font></PRE> </TD> </TR> </TABLE> <p> As above, but using the `<font color="#82140F"><code>rpn</code></font>' calculator (see <a href="ReversePolishMath.html#rpnMathematics">rpn Mathematics</a>). <p> <TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%"> <TR> <TD> <PRE> <font color="#82140F"> if {rpn "\item" "Temperature" !=} # ... end if </font></PRE> </TD> </TR> </TABLE> <p> As above, but do the indicated code if `<font color="#82140F"><code>\item</code></font>' is <b>not</b> equal to `<font color="#82140F"><code>Temperature</code></font>'. <p> </table> <img src="./resources/bottom_banner.gif" usemap="#navigate_bottom" border="0"> </body> </html>