verifyFunctionArguments {wyz.code.offensiveProgramming} | R Documentation |
Verify Function Arguments
Description
Use this function to verify function arguments.
Usage
verifyFunctionArguments(arguments_l, abort_b_1 = TRUE, verbosity_b_1 = FALSE)
Arguments
arguments_l |
An unconstrained |
abort_b_1 |
A single |
verbosity_b_1 |
A single |
Details
This function allows to check all parameter types and values in a single line of code.
See examples below to know how to put this function in action.
Value
Returned value depends on parameter abort_b_1
value.
When set to TRUE
, any error will abort processing by issuing a call to
stop
function.
When set to FALSE
, returned value is a boolean. It is TRUE
only
when no error have been detected. Otherwise FALSE
.
Note
This function whenever used, should be the first statement of your function code.
Using this function outside function code is a non-sense.
Author(s)
Fabien Gelineau <neonira@gmail.com>
Maintainer: Fabien Gelineau <neonira@gmail.com>
Examples
fun <- function(values_i_3m) {
verifyFunctionArguments(mget(ls()), FALSE, FALSE)
}
fun(1)
# [1] FALSE
fun(1:7)
# [1] TRUE
nonOPFun <- function(x) {
verifyFunctionArguments(mget(ls()), FALSE, TRUE)
}
nonOPFun(1:7)
# $x
# [1] 1 2 3 4 5 6 7
#
# x FALSE unknown suffix, [NA]
#
# [1] FALSE
# real use case with abortion
myFunWithAbortion <- function(values_i_3m) {
verifyFunctionArguments(mget(ls()))
# ...
}
tryCatch(myFunWithAbortion(1), error = function(e) cat(e$message, '\n'))
# argument mistmatch [values_i_3m] wrong length, was expecting [3m] , got [1]
# real use case without abortion
myFunWithoutAbortion <- function(values_i_3m) {
if (!verifyFunctionArguments(mget(ls()), FALSE)) return(FALSE)
cat('continuing processing ...\n')
TRUE
}
myFunWithoutAbortion(1)
# FALSE
myFunWithoutAbortion(1:3)
# continuing processing ...
# TRUE