if: Difference between revisions
Line 29: | Line 29: | ||
Sets ''someProperty'' to 1 if variable contains the text string Text, 0 otherwise. | Sets ''someProperty'' to 1 if variable contains the text string Text, 0 otherwise. | ||
<source lang="mtmacro" line> | |||
[someProperty = if(variable>0 && variable<20,1,0)]</source> | |||
Sets ''someProperty'' to 1 if variable is between 0 and 20. |
Revision as of 17:35, 14 January 2009
Function if
If testCondition evaluates to 0 then the result of falseExpr is returned, otherwise the result of trueExpr is returned. Note: both trueExpr and falseExpr are evaluated no matter what the result of testCondition is. You may want to consider using the [IF():] roll option instead.
Test condition notation:
- > for greater than
- < for less than
- >= for greater than or equal to
- <= for less than or equal to
- == for equal to - yes, you must use TWO equal signs to evaluate "is equal to"
If you are checking for a text string, place quotes around the text. You can find more information on these and other logical operations useful for the if function halfway down this page: http://rptools.net/doku.php?id=parser
Usage
[h: result = if(testCondition, trueExpr, falseCondition)]
Examples
[r: if(a>b, "A is larger than B", "A is not larger than B")]
[someProperty = if(variable>=1,20,"")]
Sets someProperty to 20 if variable is greater than or equal to 1, or makes it blank (but not empty) otherwise.
[someProperty = if(variable=="Text",1,0)]
Sets someProperty to 1 if variable contains the text string Text, 0 otherwise.
[someProperty = if(variable>0 && variable<20,1,0)]
Sets someProperty to 1 if variable is between 0 and 20.