Cond (math)

此触发器由3个参数构成.
第1个参数是条件参数.如果条件为真(即非0),Cond计算并返回第2个参数.
如果第1个参数为假,Cond计算并返回第3个参数.
如果条件是bottom,那么Cond返回bottom而不需要计算第2个第3个参数.

在所有情况下,任何未使用的参数就不需要计算了.
因此,Cond可以用来代替ifelse而避免任何由于计算不需要使用的参数而所引起的副作用.
(比如说,给变量赋值或执行一次会产生bottom的计算)

Cond仅支持mugen1.0及以上的版本. 而ifelse支持所有mugen版本.

格式:
Cond(exp_cond,exp_true,exp_false)

参数:
exp_cond
需要测试的表达式

exp_true
如果 exp_cond 为非0则返回此表达式指定的值.

exp_false
如果 exp_cond 为0则返回此表达式指定的值.

返回值类型:
如果 exp_true 被返回,则返回类型和 exp_true 相同.
如果 exp_false 被返回,则返回类型和 exp_false 相同.

错误条件:
返回bottom如果 exp_cond 计算出bottom,
或者 exp_true 或 exp_false (任何一个被使用了) 计算出bottom.

示例:
value = Cond(var(3),1,2)
当var(3)是非0时,value值为1.
当var(3)是0时,value值为2.

特列:
ifelse可以用Cond来代用(反过来也可)
Cond(var(3),1,2)相当于ifelse(var(3),1,2)

两者的区别请查看表达式部分关于bottom中特殊格式的章节.