Check flag
check_flag.RdCheck if arg is a flag, a scalar logical that is TRUE or FALSE.
Arguments
- arg
(object)
The argument to check.- signal
(string:
c("error", "warning", "message"))
Must be one of"error","warning", or"message"."error"(default) callsbase::stop()to signal an error message."warning"callsbase::warning()to signal a warning message."message"callsbase::message()to signal a message.- msg
(string or
NULL:NULL)
A string that replaces the default message. Set asNULLto use the default message.- call.
(Scalar logical:
c(FALSE, TRUE))
Passed tostop()orwarning(). The defaultmsgincludes it's own formatted call, hencecall.should beFALSE(default). If you insert your ownmsg, then you may wantcall. = TRUE.
Details
Unlike check_scalar_logical(), a flag rejects NA.
This matches the common case of a boolean toggle argument that must be decidably on or off.
See also
Other check_type:
check_atomic(),
check_character(),
check_data_frame(),
check_data_frame_or_matrix(),
check_date(),
check_date_or_datetime(),
check_datetime(),
check_double(),
check_factor(),
check_formula(),
check_function(),
check_function_or_numeric(),
check_inherits(),
check_integer(),
check_list(),
check_logical(),
check_matrix(),
check_named(),
check_nonempty_string(),
check_nonmissing(),
check_numeric(),
check_numeric_or_logical(),
check_probability(),
check_real(),
check_scalar_character(),
check_scalar_date(),
check_scalar_datetime(),
check_scalar_double(),
check_scalar_factor(),
check_scalar_integer(),
check_scalar_logical(),
check_scalar_numeric(),
check_scalar_probability(),
check_scalar_whole_number(),
check_scalar_whole_numeric(),
check_string(),
check_table(),
check_valid(),
check_valid_numeric(),
check_whole_number(),
check_whole_numeric()
Examples
#----------------------------------------------------------------------------
# check_flag() examples
#----------------------------------------------------------------------------
library(bkcheck)
f <- function(x) {
x |>
check_flag()
}
f(TRUE)
f(FALSE)
try(f(NA))
#> Error : Argument `x` must be a scalar logical that is `TRUE` or `FALSE`.
#>
#> `x` = NA
#> class(x) = 'logical'
#> length(x) = 1
#>
#> Call: f(x = NA)
try(f(1L))
#> Error : Argument `x` must be a scalar logical that is `TRUE` or `FALSE`.
#>
#> `x` = 1
#> class(x) = 'integer'
#> length(x) = 1
#>
#> Call: f(x = 1L)
try(f(c(TRUE, FALSE)))
#> Error : Argument `x` must be a scalar logical that is `TRUE` or `FALSE`.
#>
#> `x` = TRUE, FALSE
#> class(x) = 'logical'
#> length(x) = 2
#>
#> Call: f(x = c(TRUE, FALSE))
try(f("TRUE"))
#> Error : Argument `x` must be a scalar logical that is `TRUE` or `FALSE`.
#>
#> `x` = 'TRUE'
#> class(x) = 'character'
#> length(x) = 1
#>
#> Call: f(x = "TRUE")