手机网站html手机建站平台
ANSYS Swan 表达式支持选择(selection)表达式 case
, if/then/else
。选择表达式根据特定的条件选择不同的分支流。
if/then/else
表达式
if/then/else
表达式的文法如下
if expr then expr else expr
其中,首个expr
的布尔表达式,若其为 true
, 则返回 then
分支的流;若为false
,则返回 else
分支的流。
如下示例为 if/then/else
的使用
function ifThenElseExpr (i: bool)
returns (o: int32)
{
let o = if i then 24 else 42;
}
case
表达式
case
表达式按匹配值选择相应的流。其文法如下
(case expr of (| pattern: expr )+)
文法中首个 expr
的类型可以是布尔表达式。比如下面的例子:
function caseExpr (i1: bool)
returns (o: int32)
{let o = (case i1 of | true : 24| false :42);
}
case
后的 expr
也可以是枚举类型。比如下面的例子:
type E1 = enum {LEFT, RIGHT};function caseExpr2 (i: E1)
returns (o: int32)
{
let o = (case i of | LEFT:24| RIGHT:42);
}
case
后的expr
可以是整数或字符类型。如果是此类情况,需要额外包含default
匹配模式。比如下面的两个例子:
function caseExpr3 (i: int32)
returns (o: int32)
{
let o = (case i of | 1 : i+1 | 2 : i+2 | 3 : i+3 | default : i);
}
function caseExpr4 (i: char)
returns (o: int32)
{
let o = (case i of | 'a' : 24 | default : 42);
}