ARG
Функция ARG возвращает процедуре или внутренней программе строку аргументов или информацию о строках аргументов.
Если Вы не указываете параметр, то в качестве результата будет возвращено количество аргументов, переданных процедуре или внутренней программе.
Если Вы укажете только n, то в качестве результата будет возвращена строка аргументов с порядковым номером n. При отсутствии строки аргументов в качестве результата возвращается пустая строка. Значение n должно быть целым положительным числом.
Если указан режим, то функция ARG проверяет наличие строки аргументов с порядковым номером n. Действительными режимами для функции ARG (при указании которых имеют значение только начальные буквы, остальные игнорируются) являются следующие:
Exists | Возвращает результат 1, если существует аргумент с порядковым номером n; т.е. если этот аргумент был явно указан при вызове программы. В противном случае возвращается результат 0. | Omitted | Возвращает результат 1, если опущен аргумент с порядковым номером n; т.е. если этот аргумент не был явно указан при вызове программы. В противном случае возвращается результат 0. |
Ниже приведено несколько примеров: /* строка вызова подпрограммы: "Call name;" (без аргументов) */ ARG( ) -> 0 ARG(1) -> '' ARG(2) -> '' ARG(1,'e') -> 0 ARG(1,'O') -> 1
/* строка вызова подпрограммы: "Call name 'a',,'b';" */ ARG( ) -> 3 ARG(1) -> 'a' ARG(2) -> '' ARG(3) -> 'b' ARG(n) -> '' /* для n>=4 */ ARG(1,'e') -> 1 ARG(2,'E') -> 0 ARG(2,'O') -> 1 ARG(3,'o') -> 0 ARG(4,'o') -> 1
Примечания:
- Вы можете восстановить и непосредственно разобрать по переменным строки аргументов для программы или внутренней функции с помощью инструкции ARG или PARSE ARG.
- Программы, вызываемые как команды, могут иметь только одну строку аргументов или не иметь их вовсе. Считается, что программа не имеет аргументов, если она вызывается только по имени; и имеет одну строку аргументов, если к имени команды добавлено еще что-нибудь (включая пробелы).
- Программы, вызываемые с помощью точки входа REXXSTART, могут иметь множество строк аргументов.