Ensure that the class of the control list is one of those that can be used by the calling function
Source:R/control.utilities.R
check.control.class.RdThis function converts an ordinary list into a control list (if
needed) and checks that the control list passed is appropriate for
the function to be controlled.
Usage
check.control.class(
OKnames = as.character(ult(sys.calls(), 2)[[1L]]),
myname = as.character(ult(sys.calls(), 2)[[1L]]),
control = get("control", pos = parent.frame())
)Arguments
- OKnames
List of control function names which are acceptable.
- myname
Name of the calling function (used in the error message).
- control
The control list or a list to be converted to a control list using
control.myname(). Defaults to thecontrolvariable in the calling function. See Details for detailed behavior.
Value
A valid control list for the function in which it is to be
used. If control argument is missing, it will also overwrite
the variable control in the calling environment with it.
Details
check.control.class() performs the check by looking up
the class of the control argument (defaulting to the control
variable in the calling function) and checking if it matches a
list of acceptable given by OKnames.
Before performing any checks, the control argument (including
the default) will be converted to a control list by calling
as.control.list() on it with the first element of OKnames to
construct the control function.
If control is missing, it will be assumed that the user wants
to modify it in place, and a variable with that name in the
parent environment will be overwritten.