Перевод поста The case of a missing begin/end.
Delphi никогда не перестаёт удивлять меня... Вы знали что это правильный синтаксис?
1 2 3 4 5 6 |
case a of 0: Writeln(0); else Writeln('else'); Writeln(a); end; |
Этот код компилируется и работает точно как следующий фрагмент.
1 2 3 4 5 6 7 |
case a of 0: Writeln(0); else begin Writeln('else'); Writeln(a); end; end; |
Я лично никогда бы не убрал begin/end
внутри оператора case/else
, но не все согласяться с этим. Я нашёл такой пример в очень (ОЧЕНЬ!) старом кода (он был написан на Delphi 2) и я был довольно удивлён, что он компилируется.
Anton Alisov предложил форматировать первый пример так:
1 2 3 4 5 6 |
case a of 0: Writeln(0); else Writeln('else'); Writeln(a); end; |
Я думаю так код выглядит более понятно.