Else/ru

From Free Pascal wiki

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru)

Else at Language Reference

Else является ключевым словом, представляющим действие, которое выполнится, если условие ложно.

If Then Else

  If (condition)
  Then true_statement
  Else false_statement;

Вначале вычисляется значение условия condition. Если оно истинно, то выполняется оператор true_statement, в противном случае выполняется оператор false_statement. Значение условия должно быть типа Boolean иначе возникнет ошибка.

Более одного оператора в конструкции "if then else"

Если вам необходимо использовать два или более операторов в качестве инструкций true_statement или false_statement, то вам следует сгруппировать эти операторы, поместив их в блок Begin ... End.

  if boolean_condition then
    begin
      statement_one;
      statement_two;
    end 
  else
    begin
      statement_three;
      statement_four;
    end;

При обычном использовании, оператор else является особым исключением из правил, согласно которому каждый оператор должен оканчиваться точкой с запятой. Ни для оператора else, ни для предшествующего ему оператора не требуется ставить точку с запятой. В примере выше первый оператор end не оканчивается точкой с запятой, а последний оканчивается.

Однако, в случае вложенных операторов if, если else относится к внутреннему оператору if, то перед else точку с запятой ставить не нужно; если оператор else относится к внешнему оператору if, то перед ним нужно ставить точку с запятой:

  if a then
      if b then 
        begin
           (..)
        end;
      else
        begin
           (..)
        end;

В этом случае else относится к "if a"

  if a then
      if b then 
        begin
           (..)
        end
      else
        begin
           (..)
        end;

В этом случае else относится к "if b". Если это вызывает неясность, то это можно разрешить с помощью отсутствия кода в операторе else:

  if a then
      if b then 
        begin
           (..)
        end
      else
  else
      begin
           (..)
      end


Ключевые слова: begindoelseendforifrepeatthenuntilwhile