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_integer
retourne l'objetx
de manière invisible;la fonction
check_scalar_integer
retourne le booléenTRUE
.
si le check échoue :
la fonction
assert_scalar_integer
retourne un message d'erreur;la fonction
check_scalar_integer
retourne 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