Синтаксис блоков

В синтаксисе языка программирования L9 используется так называемый альтернативный синтаксис блоков. Этот синтаксис применим ко всем блочным операторам кроме оператора «Тry» («Попытка»). На примерах он выглядит следующим образом.


Пример 1:

Стандартный синтаксис (цикл «While» («Пока»)):

While a <> b Do

   a = a + 1;

EndDo;

 

Альтернативный синтаксис:

While a = b  a = a + 1;

Или:

While a = b
/
    a = a + 1;
\

Или:

While a = b
/
\   a = a + 1;

Пример 2:

Стандартный синтаксис (цикл «For» («Для»)):

For i = 0 To 1000 Do
EndDo;

Альтернативный синтаксис:

For i = 0 To 1000;

Или:

For i = 0 To 1000
/
\

Знаки «/» и «\» удобнее использовать, когда требуется объединить несколько операторов в единый блок. В нижеследующей таблице приводится несколько примеров написания одной и той же функции возврата ставки НДС:


Русскоязычный синтаксис

Англоязычный синтаксис

Функция ВзятьНДС(a)
    Если a = "Ставка10" Тогда
        Возврат 10;
    ИначеЕсли a = "Ставка18" Тогда
        Возврат 18;
    ИначеЕсли a = "Ставка0" Тогда
        Возврат 0;
    Иначе
        Сообщить("Ошибка НДС");
        Возврат 0;
    КонецЕсли;
КонецФункции

Function ВзятьНДС(a)
    If a = "Ставка10" Then
        Return 10;
    ElsIf a = "Ставка18" Then
        Return 18;
    ElsIf a = "Ставка0" Then
        Return 0;
    Else
        Message("Ошибка НДС");
        Return 0;
    EndIf;
EndFunction

Функция ВзятьНДС(a)
/
    Если a = "Ставка10"
    /  Возврат 10;
    \
    ИначеЕсли a = "Ставка18"
    /  Возврат 18;
    \
    ИначеЕсли a = "Ставка0"
    /  Возврат 0;
    \
    Иначе
    /  Сообщить("Ошибка НДС");
    \  Возврат 0;
\

Function ВзятьНДС(a)
/
    If a = "Ставка10"
    /  Return 10;
    \
    ElsIf a = "Ставка18"
    /  Return 18;
    \
    ElsIf a = "Ставка0"
    /  Return 0;
    \
    Else
    /  Message("Ошибка НДС");
    \  Return 0;
\

Функция ВзятьНДС(a)
/
    Возврат 10 _Если a = "Ставка10";
    Возврат 18 _Если a = "Ставка18";
    Возврат 0  _Если a = "Ставка0";
    Сообщить("Ошибка НДС");
    Возврат 0;
\

Function ВзятьНДС(a)
/
    Return 10 _If a = "Ставка10";
    Return 18 _If a = "Ставка18";
    Return 0  _If a = "Ставка0";
    Message("Ошибка НДС");
    Return 0;
\