6.5. ФУНКЦИИ

Функция — это подпрограмма, которая возвращает значение (результат вызова функции). Спецификация функции начинается с зарезервированного слова function, а параметры, если они есть, должны иметь вид in (указанный явно или неявно). Операторы тела функции (исключая операторы программных модулей, вложенных в тело функции) должны содержать один или несколько операторов возврата, -определяющих возвращаемое значение.

Исключение PROGRAM - ERROR возбуждается, если выход из тела функции осуществляется не через оператор возврата. Это исключение не возбуждается, если выполнение функции прекращается в результате исключения.

Пример:

function DOTPRODUCT(LEFT, RIGHT : VECTOR) return REAL is    SUM : REAL := 0.0; begin    CHECK(LEFT'FIRST = RIGHT'FIRST and LEFT'LAST = RIGHT'LAST);    for J in LEFT'RANGE loop       SUM := SUM + LEFT(J)*RIGHT(J);    end loop;   return SUM; end DOTPRODUCT;

Ссылки: вид 6.1, возбуждение исключений 11, вызов функции 6.4, исключение 11, исключение PROGRAM_ERROR 11.1, оператор 5, оператор возврата 5.8, спецификация функции 6.1, тело функции 6.3, формальный параметр 6.1, функция 6.1.