next up previous contents
След.: Оператор ENTRY Выше: Приложение 2: Устаревшие возможности Пред.: Общий завершающий оператор вложенного   Содержание

Альтернативный возврат

Имеется в виду возможность задания меток в качестве фактических параметров процедуры:

CALL F(X, *666, *360)

При этом соответствующие формальные аргументы -- звездочки. В теле процедуры может использоваться оператор RETURN с целочисленным выражением, которое имеет смысл порядкового номера передаваемой метки. Управление передается на эту метку. Таким образом, процедура имеет несколько точек выхода, что нарушает принцип структурного программирования. В нашем примере в теле подпрограммы F оператор RETURN 1 приведет к завершению процедуры и переходу на метку 666, а RETURN 1+1 -- к завершению процедуры и переходу на метку 360.

Следует использовать функции с кодом возврата либо передавать код возврата в исходящем аргументе, и организовывать ветвление в зависимости от этого кода.



Ilya A. Chernov 2012-12-19
X