Vérifie la conformité d'un entier scalaire
Usage
check_scalar_integer(x, warn = TRUE)
assert_scalar_integer(
x,
add = NULL,
.var.name = checkmate::vname(x),
warn = TRUE
)Details
On vérifie que l'objet x en entrée est bien un entier.
Cette fonction s'appuie essentiellement sur la fonction
checkmate::assert_int.
Il y a néanmoins une petite subtilité : on vérifie si l'objet x est de
type double ou integer. Si l'objet est de type double (et non integer), la
fonction retournera aussi un warning.
Dans le premier cas, on affichera un warning et on corrigera l'objet au
format integer pour les traitements ultérieurs. En sortie, x est retourné
de manière invisible.
Si l'argument warn vaut FALSE, alors la fonction ne retournera pas de
warning lors de l'évaluation.
Selon le préfixe de la fonction :
si le check réussi :
la fonction
assert_scalar_integerretourne l'objetxde manière invisible;la fonction
check_scalar_integerretourne le booléenTRUE.
si le check échoue :
la fonction
assert_scalar_integerretourne un message d'erreur;la fonction
check_scalar_integerretourne une chaîne de caractère signalant le problème.
Examples
assert_scalar_integer(1L)
assert_scalar_integer(100L)
assert_scalar_integer(-4L)
assert_scalar_integer(0L)
check_scalar_integer(1L)
#> [1] TRUE
check_scalar_integer(100L)
#> [1] TRUE
check_scalar_integer(-4L)
#> [1] TRUE
check_scalar_integer(0L)
#> [1] TRUE
# Avec des erreurs,
check_scalar_integer(Inf)
#> [1] "* x Must be of type 'single integerish value', not 'double'"
check_scalar_integer(1:10)
#> [1] "* x Must have length 1"
check_scalar_integer(pi)
#> [1] "* x Must be of type 'single integerish value', not 'double'"
check_scalar_integer(2.)
#> Warning: Assertion on 'x' failed: Must be of type 'integer', not 'double'.
#> [1] TRUE