(index ("define-arguments" 0) ("invalid-argument-handler" 1468) ("unmatched-arguments" 1892))
(def (sig (syntax "(define-arguments (name [value [guard]]) ...)" (id define-arguments))) (p (tt "define-arguments") " defines parameter objects for the given command line option names and sets them according to the program's " (tt "command-line-arguments") " parameter.") (p "For each specified argument, " (tt "name") " should be an identifier or list of identifiers. The first of these will be bound to the newly-created parameter object. " (tt "value") ", if given, must be a boolean, string, number or symbol, and will be the default value of the parameter object. If no " (tt "value") " is given, " (tt "#f") " is used. If a procedure " (tt "guard") " is given, it is used as the parameter object's conversion procedure.") (p "Each " (tt "name") ", when prefixed by one dash (in the case of a single-character identifier) or two (for all others), will be used as a command-line flag to set the corresponding parameter object's value. If " (tt "name") " contains asterisks, they are stripped from the flag.") (p (tt "define-arguments") " reads and modifies Chicken's " (tt "command-line-arguments") " parameter, setting matched parameter objects to the specified values and removing their options from the list. Unmatched arguments are accumulated into an alist accessible by the " (tt "unmatched-arguments") " procedure. Upon completion, " (tt "command-line-arguments") " will contain any non-option arguments to the program. The return value is unspecified."))
(def (sig (parameter "invalid-argument-handler" (id invalid-argument-handler))) (p (tt "invalid-argument-handler") " is called when " (tt "define-arguments") " encounters an invalid command-line value. It is a procedure of three arguments: an error message (string), option name (string or character) and value (a string or " (tt "#t") "). By default, this procedure simply prints an error message and exits the program."))
(def (sig (procedure "(unmatched-arguments)" (id unmatched-arguments))) (p "Returns an alist of the command-line arguments unmatched by " (tt "define-arguments") ". If called before " (tt "define-arguments") ", it will return an empty list."))
