103 votes

Est-ce que R a une déclaration d'assertion comme en python?

une déclaration qui vérifie si quelque chose est vrai et sinon imprime un message d'erreur donné et se termine

131voto

Harlan Points 5486

stopifnot()

Vous pouvez également être intéressé par paquets comme Runit et testthat pour les tests unitaires.

12voto

CCC Points 176

@Nick:

Vous pouvez contrôler votre message d'erreur si vous écrivez une fonction avec un nom descriptif pour tester la condition qui lèvera une erreur dans votre programme. Voici un exemple:

Less_Than_8 = function(x) return(x < 8)

for (i in 1:10)
{
  print(i)
  stopifnot(Less_Than_8(i))
}

Cela permettra d'imprimer les numéros 1 à 8, puis imprimer un message qui dit

Error: Less_Than_8(i) is not TRUE

Ce serait bien si le "je", entre parenthèses, a été remplacé par la valeur qui a échoué le test, mais vous obtenez ce que vous payez.

Si vous besoin de quelque chose de plus sophistiqué que cela, regardez dans Runit et testthat comme Harlan suggéré.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X