VBScript conditional short-circuiting workaround

后端 未结 9 2136
心在旅途
心在旅途 2021-02-19 05:15

I have a large classic ASP app that I have to maintain, and I repeatedly find myself thwarted by the lack of short-circuit evaluation capability. E.g., VBScript won\'t let you

9条回答
  •  执念已碎
    2021-02-19 05:27

    If you write it as two inline IF statements, you can achieve short-circuiting:

    if not isNull(Rs("myField")) then if Rs("myField") <> 0 then ...
    

    But your then action must appear on the same line as well. If you need multiple statements after then, you can separate them with : or move your code to a subroutine that you can call. For example:

    if not isNull(Rs("myField")) then if Rs("myField") <> 0 then x = 1 : y = 2
    

    Or

    if not isNull(Rs("myField")) then if Rs("myField") <> 0 then DoSomething(Rs("myField"))
    

提交回复
热议问题