ArrayExists1 if the
nth argument exists; that is, if
it was explicitly specified when the routine was called. Otherwise, it returns
0.
NormalOmitted1 if the
nth argument was omitted; that
is, if it was not explicitly specified when the routine
was called. Otherwise, it returns 0.
/* following "Call name;" (no arguments) */
Say ARG() --> 0
Say ARG(1) --> ""
Say ARG(2) --> ""
Say ARG(1,"e") --> 0
Say ARG(1,"O") --> 1
Say ARG(1,"a") --> .array~of()
/* following "Call name 'a', ,'b';" */
Say ARG() --> 3
Say ARG(1) --> "a"
Say ARG(2) --> ""
Say ARG(3) --> "b"
Say ARG(n) --> "" /* for n>=4 */
Say ARG(1,"e") --> 1
Say ARG(2,"E") --> 0
Say ARG(2,"O") --> 1
Say ARG(3,"o") --> 0
Say ARG(4,"o") --> 1
Say ARG(1,"A") --> .array~of(a, ,b)
Say ARG(3,"a") --> .array~of(b)
ARG(n,"e") returns
1 or 0
if there are no explicit argument strings. That is, it is the position of the
last explicitly specified argument string.