page

ternary

VERSIONlatest is an operator that takes three arguments. The arguments and result can be of different types.

TERNARY

NAME

ternary - is an operator that takes three arguments. The arguments and result can be of different types.

SYNOPSIS

( expression ) ? expression : expression

DESCRIPTION

A traditional if-else construct in Extenso is written:

if a > b then
    result = x;
else
    result = y;
endif

This can be rewritten as the following ternary statement:

result = (a > b) ? x : y;

The second expression should be between ( and ) if the expression is complex.

EXAMPLES

Note: In the followings examples, the _ between the { should be removed to make it work.

res={_{i=(1>0) ?  5 : 6 ; i;}}. return res=5.
res={_{i=(1>2) ?  5 : 6 ; i;}}. return res=6.
res={_{i=(1>0) ?  5*2 : 6 ; i;}}. return res=10.
res={_{i=(1>0) ?  (7>2)?1:2 : 6 ; i;}}. return res=1.
res={_{i=(1>0) ?  (1>2)?1:2 : 6 ; i;}}. return res=2.
res={_{i=(1>4) ?  (1>2)?1:2 : 6 ; i;}}. return res=6.
sn_path = (abc eq undefined || abc eq '')?'allo':(abc .+ "12345");

abc="def";
sn_path = (abc ne undefined)?abc .+ '12345' : abc;  sn_path;
abc=undefined;
sn_path = (abc ne undefined)?abc .+ '12345' : abc;  sn_path;
return res=def12345undefined.

AUTHOR

Written by Pierre Laplante, <laplante@sednove.com>