PhixFlow Help

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Function: if()

Process an Expression (and return its value) depending on whether a condition evaluates to True or False.

Syntax

  1. if(condition, trueExpression)
  2. if(condition, trueExpression, falseExpression)
Argument Type Description
condition Boolean The condition to be checked
trueExpression Any The expression to be evaluated if condition is True
falseExpression Any An optional expression to be evaluated if condition is False

Note that if you want to process more than a one-line expression if condition evaluates to True or False then wrap the script in a do() function. See the examples below.

Examples

if( in.UserID == "Test", 0, in.numCalls)

Returns the value of in.numCalls unless in.UserID is equal to "Test".

if( startsWith(in.telNo,"44"), do ( $priceBand = "NATIONAL", $rate = 0.03 ) )

This example shows how to use a do() function if you want to process several expressions (a script) based on the result of an if(). Note that the $-Variables $priceBand and $rate are only set if in.telNo starts with "44".

A common mistake is to omit the do() function in cases like the previous example, as shown below:

if( startsWith(in.telNo,"44"), $priceBand = "NATIONAL", $rate = 0.03 )

With this expression, only $priceBand = "NATIONAL" is evaluated if the condition returns True, and only $rate = 0.03 is evaluated if the condition returns False.

if( startsWith(in.telNo,"44"), do ( $priceBand = "NATIONAL", $rate = 0.03 ) , // Else do ( $priceBand = "INTERNATIONAL", $rate = 0.60 ) )

This example extends the example above to include an "else" clause i.e. the expressions that should be processed if the condition returns False.

Please note the layout in the last example. Consistent formating of your scripts like this will help clarify where the "else" script starts. Also see Scripting Style.

See Also

  • No labels