ylab values tickformat hoverinfo change r assert language-design assertions

r - values - plotly ylab



¿Tiene R una afirmación assert como en python? (3)

@Mella:

Puede controlar su mensaje de error si escribe una función con un nombre descriptivo para probar la condición que generará un error en su programa. Aquí hay un ejemplo:

Less_Than_8 = function(x) return(x < 8) for (i in 1:10) { print(i) stopifnot(Less_Than_8(i)) }

Esto imprimirá los números del 1 al 8, luego imprimirá un mensaje que diga

Error: Less_Than_8(i) is not TRUE

Sería bueno si la "i" entre paréntesis fuera reemplazada por el valor que falló la prueba, pero obtienes lo que pagas.

Si necesitas algo más lujoso que eso, mira en Runit y prueba eso como sugirió Harlan.

una declaración que verifica si algo es verdadero y si no imprime un mensaje de error dado y sale


Esto se puede lograr con el comando de stop . Este comando detendrá la ejecución de una función e imprimirá el mensaje de error. Por ejemplo, podemos probar si la variable something es falsa:

if(something == FALSE){ stop("error message to print) }

Del mismo modo, el comando de warning imprimirá una advertencia (pero continuará ejecutando el código).

if(something == FALSE){ warning("error message to print) }

Estos son proporcionados por la base R y no requieren paquetes para ejecutar o incluir al escribir sus propias funciones. Prefiero este enfoque para escribir código con menos dependencias y esta sintaxis es ampliamente utilizada en el desarrollo de paquetes. Sin embargo, una funcionalidad similar es respaldada por el paquete "assertthat" con la función assert_that que se ha lanzado recientemente como parte de "tidyverse" de Hadley.


stopifnot()

También puede estar interesado en paquetes como Runit y testthat para pruebas unitarias.