Смешивание позиционного и именованного сопоставления
Ада позволяет смешивать позиционное и именованное сопоставление параметров.
В этом случае должно соблюдаться следующее условие: позиционно-ассоциированные параметры должны предшествовать параметрам, которые ассоциируются по имени.
procedure Square(Result : out Integer; Number : in Integer) is
begin Result := Number * Number; end Square; |
В результате, показанная выше процедура Square может быть вызвана следующими способами:
Square(X, 4); Square(X, Number => 4); Square(Result => X, Number => 4); Square(Number => 4, Result => x);
Square(Number => 4, X); -- недопустимо, поскольку позиционно-ассоциируемый -- параметр следует за параметром, ассоциируемым -- по имени |