Ключевое слово ФУНКЦИЯ
1. Объявление функции или метода.
Объявление функции размещается вне объявления типа и тела функции или метода.
Объявление метода размещается внутри квадратных скобок объявления объектного типа или интерфейса.
Синтаксис:
ФУНКЦИЯ [<тип результата>:] <имя функции или метода> [<список параметров>];
Точка с запятой после объявления функции или метода обязательна.
Пример:
// объявление функции ФУНКЦИЯ ЛОГИКА: СчитатьНастройки(ПЕРЕМ АЛГ_ПАРАМ: настройки); ТИП МойДиалог(ДИАЛОГ) [ // объявление метода ФУНКЦИЯ ЛОГИКА: ПрименитьНастройки(АЛГ_ПАРАМ: настройки); ]
Замечание:
Определение функции или метода может также играть роль объявления. Чистые объявления используются для отделения больших тел функций и методов от описательной части кода. Подробнее см. Определение функций в библиотеках.
2. Определение функции или метода.
Определение функции или метода размещается вне тела функции или метода.
Определение метода может размещаться внутри квадратных скобок объявления объектного типа владельца метода. В таком случае определение метода играет также роль объявления.
Синтаксис:
ФУНКЦИЯ [<тип результата>:] <имя функции или метода> [<список параметров>] <тело функции или метода> КОНЕЦ_ФУНКЦИИ
Когда в объявлении объектного типа указано чистое объявление метода, тогда определение метода должно указываться отдельно, вне объявления объектного типа. Имя типа-владельца указывается через точку перед именем метода.
Синтаксис:
ФУНКЦИЯ [<тип результата>:] <имя типа-владельца>.<имя метода> [<список параметров>] <тело метода> КОНЕЦ_ФУНКЦИИ
Пример:
ТИП МойДиалог(ДИАЛОГ) [ // чистое объявление метода ФУНКЦИЯ ЛОГИКА: ПрименитьНастройки(АЛГ_ПАРАМ: настройки); // объявление и определение метода ФУНКЦИЯ ЧИСЛО: Площадь РЕЗУЛЬТАТ = ширина * высота КОНЕЦ_ФУНКЦИИ ] // вынесенное определение метода ФУНКЦИЯ ЛОГИКА: МойДиалог.ПрименитьНастройки(АЛГ_ПАРАМ: настройки) // ... КОНЕЦ_ФУНКЦИИ
3. Объявление синонима типа функции.
Для объявления синонима типа функции ключевое слово ФУНКЦИЯ используется совместно с ключевым словом ТИП и знаком "равно" вне объявления типа и тела функции или метода.
Синтаксис:
ТИП <имя типа> = ФУНКЦИЯ [<тип результата>:] @[<список параметров>];
Точка с запятой после объявления синонима обязательна.
Пример:
ТИП ТипОбработки = ФУНКЦИЯ ТКодОшибки: @(ПЕРЕМ ТипСловарь: словарь);