Ifはショートカット評価されない

VBScriptにおいて、Ifステートメントはショートカット評価されません。つまり、一個のIfステートメントに複数の条件が含まれる時、全ての条件が必ず評価されます。条件に関するステートメントの仕様は言語ごとに差異があるので注意を要します。次の例では、"Test1"、"Test2"、"False."という順にメッセージが表示されます。
Option Explicit
Main

Sub Main
    If Test1 And Test2 Then
        MsgBox "True."
    Else
        MsgBox "False."
    End If
End Sub

Function Test1
    MsgBox "Test1."
    Test1 = False
End Function

Function Test2
    MsgBox "Test2."
    Test2 = False
End Function

最終更新日: 2011-10-14

戻る