if: Difference between revisions

From RPTools Wiki
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:Roll:if | [if():]]] instead.
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 great than
 
< 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 when setting the condition.
* <= 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>


</source>Sets someProperty to 20 if variable is greater than or equal to 1, or makes it blank (but not empty) otherwise.
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.