当设置基于表达式结果的Boolean型数值时,要避免使用多余的If/Then/Else语句结果。比如:
IfSomeVar>SomeOtherVarThen
BoolVal=True
Else
BoolVal=False
EndIf
上面这段代码就很烦琐,它们完全可以使用下面的一行代码来替代:
BoolVal=(SomeVar>SomeOtherVar)
括号不是必须的,但可以增加可读性。根据表达式中的操作数不同,后者比前者执行起来大约快50到85。后者中的括号对速度没有影响。
有时,使用这个技术实现代码的简练并非很明显。关键是要牢记:所有的比较操作结果或者是0(false),或者是-1(True)。所以,下面例子中的2段代码是完全相同的,但是第2段要运行得快些:
1、传统方法:
IfSomeVar>SomeOtherVarThen
x=x 1
EndIf
2、更简练的方法
x=x-(SomeVar>SomeOtherVar)
->