TSL语言基础 > TSL语言基础 > 基础知识 > 运算符 > ?:判断求值三元运算符

?:省略真表达式的三元运算符的特殊用法:    

  •   在计算中,经常会出现有NIL值,NIL值的产生原因是多种多样的,例如多表的SELECT JOIN查询产生(我们姑且先不去理解什么是SELECT JOIN),当产生NIL值以后,NIL无法和其他数据类型进行运算,会产生错误。用户可能会希望在计算的时候利用0或者空字符串来替代掉NIL,使得计算可以继续。
      例如:
      Aexp+1,由于Aexp可能是NIL会出错,那么用户可能会采用如下来替代:
      (Aexp?Aexp:0)+1
      有时候Aexp计算的表达式很长,这样写起来就会很不方便,运算的时候效率也会比较低,因为Aexp可能需要计算两次,在这种特殊用途中,TSL语言支持省略掉真表达式,缺省认为为真的时候的值就是?之前表达式的本身的计算结果,这种写法就可以缩略为:
      (Aexp?:0)+1