Skip to contents

A function to check that argument is of proper class and of length 1.

Usage

check_scalar(..., arg_class, alt_null = FALSE)

Arguments

...

Function argument that is being asserted.

arg_class

Class name. Usually "character", "numeric", "data.frame", etc.

alt_null

Logical. Should argument accept NULL value.

Value

Invisible NULL if assertion is TRUE, otherwise an error message.

Examples

# Variables values to test
char_s <- "test"
char_v <- c("test", "variable")
num_s <- 1.5
num_v <- c(2, 1.5, 3.33)
logical_s <- TRUE
logical_v <- c(FALSE, FALSE)
int_s <- 1L
int_v <- c(3L, 33L)
if (FALSE) { # \dontrun{
# Assert Scalar Character
check_scalar(char_s, arg_class = "character")
check_scalar(char_v, arg_class = "character")
check_scalar(num_s, arg_class = "character")
check_scalar(logical_s, arg_class = "character")

# Assert Scalar Numeric
check_scalar(num_s, arg_class = "numeric")
check_scalar(num_v, arg_class = "numeric")
check_scalar(int_s, arg_class = "numeric", alt_null = TRUE)
check_scalar(logical_v, arg_class = "numeric")

# Assert Scalar Logical
check_scalar(logical_s, arg_class = "logical")
check_scalar(logical_v, arg_class = "logical")
check_scalar(char_s, arg_class = "logical", alt_null = TRUE)
check_scalar(int_v, arg_class = "logical")

#' # Assert Scalar Integer
check_scalar(int_s, arg_class = "integer")
check_scalar(int_v,  arg_class = "integer", alt_null = TRUE)
check_scalar(num_s, arg_class = "integer")
check_scalar(logical_v, arg_class = "integer", alt_null = TRUE)
} # }