if: Difference between revisions
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
==Function if== | ==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 [[Macros: | 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 [[Macros:Branching_and_Looping#IF_Option| [IF():]]] roll option instead. | ||
Test condition notation: | Test condition notation: | ||
> for | |||
< for less than | * > for greater than | ||
>= for greater than or equal to | * < for less than | ||
<= for less than or equal to | * >= for greater than or equal to | ||
== for equal to - yes, you must use TWO equal signs | * <= 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. | If you are checking for a text string, place quotes around the text. | ||
Line 14: | Line 16: | ||
[h: result = if(testCondition, trueExpr, falseCondition)] | [h: result = if(testCondition, trueExpr, falseCondition)] | ||
</source> | </source> | ||
===Examples=== | ===Examples=== | ||
Line 20: | Line 21: | ||
[r: if(a>b, "A is larger than B", "A is not larger than B")] | [r: if(a>b, "A is larger than B", "A is not larger than B")] | ||
[someProperty = if(variable>=1,20,"")] | [someProperty = if(variable>=1,20,"")] | ||
</source> | |||
Sets ''someProperty'' to 20 if variable is greater than or equal to 1, or makes it blank (but not empty) otherwise. | |||
<source lang="mtmacro" line> | <source lang="mtmacro" line> | ||
[someProperty = if(variable=="Text",1,0)]</source> | [someProperty = if(variable=="Text",1,0)]</source> | ||
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. |
Revision as of 23:04, 13 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.
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.