當設置基於表達式結果的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)
->