The N_PARAMS function returns the number of positional arguments (not keyword arguments) present in a procedure or function call. A frequent use is to call N_PARAMS to determine if all arguments are present and if not, to supply default values for missing parameters. For example:
;Print values of XX and YY. If XX is omitted, print values of YY ;versus element number. PRO XPRINT, XX, YY ;Check number of arguments. CASE N_PARAMS() OF ;Single-argument case. 1: BEGIN ;First argument is y values. Y = XX ;Create vector of subscript indices. X = INDGEN(N_ELEMENTS(Y)) END ;Two-argument case. 2: BEGIN ;Copy parameters to local arguments. Y = YY & X = XX END ;Print error message. ELSE: MESSAGE, 'Wrong number of arguments' ENDCASE ;Remainder of procedure. ... END