Checks if an argument is an integer scalar
Usage
assert_integer_scalar(
arg,
subset = "none",
optional = FALSE,
arg_name = rlang::caller_arg(arg),
message = NULL,
class = "assert_integer_scalar",
call = parent.frame()
)
Arguments
- arg
A function argument to be checked
- subset
A subset of integers that
arg
should be part of. Should be one of"none"
(the default),"positive"
,"non-negative"
or"negative"
.- optional
Is the checked argument optional? If set to
FALSE
andarg
isNULL
then an error is thrown- arg_name
string indicating the label/symbol of the object being checked.
- message
string passed to
cli::cli_abort(message)
. WhenNULL
, default messaging is used (see examples for default messages)."{arg_name}"
can be used in messaging.- class
Subclass of the condition.
- call
The execution environment of a currently running function, e.g.
call = caller_env()
. The corresponding function call is retrieved and mentioned in error messages as the source of the error.You only need to supply
call
when throwing a condition from a helper function which wouldn't be relevant to mention in the message.Can also be
NULL
or a defused function call to respectively not display any call or hard-code a code to display.For more information about error calls, see Including function calls in error messages.
Value
The function throws an error if arg
is not an integer belonging to the
specified subset
. Otherwise, the input is returned invisibly.
See also
Checks for valid input and returns warning or errors messages:
assert_atomic_vector()
,
assert_character_scalar()
,
assert_character_vector()
,
assert_data_frame()
,
assert_date_vector()
,
assert_expr()
,
assert_expr_list()
,
assert_filter_cond()
,
assert_function()
,
assert_list_element()
,
assert_list_of()
,
assert_logical_scalar()
,
assert_named()
,
assert_numeric_vector()
,
assert_one_to_one()
,
assert_param_does_not_exist()
,
assert_s3_class()
,
assert_same_type()
,
assert_symbol()
,
assert_unit()
,
assert_vars()
,
assert_varval_list()
Examples
example_fun <- function(num1, num2) {
assert_integer_scalar(num1, subset = "positive")
assert_integer_scalar(num2, subset = "negative")
}
example_fun(1, -9)
try(example_fun(1.5, -9))
#> Error in example_fun(1.5, -9) :
#> Argument `num1` must be a positive integer scalar.
try(example_fun(2, 0))
#> Error in example_fun(2, 0) :
#> Argument `num2` must be a negative integer scalar.
try(example_fun("2", 0))
#> Error in example_fun("2", 0) :
#> Argument `num1` must be a positive integer scalar.