Ответ 1
Я предполагаю, что Exit
считается маркером для себя, и как таковое все, что определено в пределах той же области после Exit
, просто игнорируется компилятором (так как оно не может выполнять эти инструкции в любом случае).
Почему компилятор Delphi игнорирует эту отсутствующую скобку?
function Test: Boolean;
begin
Exit(True; // <-- eek! it compiles...
end;
Я нашел некоторый код, похожий на этот код, и сначала подумал, что Delphi игнорирует мой блок, но он просто игнорирует этот тип синтаксической ошибки. Так что теперь, конечно, я хочу знать, почему.
Я предполагаю, что Exit
считается маркером для себя, и как таковое все, что определено в пределах той же области после Exit
, просто игнорируется компилятором (так как оно не может выполнять эти инструкции в любом случае).
Возможно, компилятор думает, что либо 1. Существует выход сам по себе, или 2. Существует выход с набором круглых скобок(). Если он не найдет # 2, он перейдет к # 1.