Skip to contents

Checks if an argument is an integer scalar

Usage

assert_integer_scalar(arg, subset = "none", optional = FALSE)

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 and arg is NULL then an error is thrown

Value

The function throws an error if arg is not an integer belonging to the specified subset. Otherwise, the input is returned invisibly.

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 assert_integer_scalar(num1, subset = "positive") : 
#>   `num1` must be a positive integer scalar but is `1.5`

try(example_fun(2, 0))
#> Error in assert_integer_scalar(num2, subset = "negative") : 
#>   `num2` must be a negative integer scalar but is `0`

try(example_fun("2", 0))
#> Error in assert_integer_scalar(num1, subset = "positive") : 
#>   `num1` must be a positive integer scalar but is `"2"`