ruby - tutorial - Cómo crear un mensaje de salida
ruby wikipedia (4)
¿Hay una llamada de función de una línea que sale del programa y muestra un mensaje? Sé que en Perl es tan simple como:
die("Message goes here")
Estoy cansado de escribir esto:
puts "Message goes here"
exit
La función abort
hace esto. Por ejemplo:
abort("Message goes here")
Nota: el mensaje de STDERR
se escribirá en STDERR
en lugar de las STDERR
que se escribirán en STDOUT
.
Llegué aquí buscando una forma de ejecutar algún código cada vez que el programa termina.
Encontré esto :
Kernel.at_exit { puts "sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call
Llamado varias veces se registrarán múltiples controladores.
Nunca he oído hablar de tal función, pero sería lo suficientemente trivial para implementar ...
def die(msg)
puts msg
exit
end
Luego, si esto está definido en algún archivo .rb que incluyes en todos tus scripts, estás de oro ... solo porque no esté integrado no significa que no puedas hacerlo tú mismo ;-)
Si desea denotar un error real en su código, podría generar una excepción RuntimeError
:
raise RuntimeError, ''Message goes here''
Esto imprimirá un seguimiento de pila, el tipo de excepción que se genera y el mensaje que proporcionó. Dependiendo de los usuarios, un seguimiento de pila puede ser demasiado aterrador y el mensaje real puede perderse en el ruido. Por otro lado, si muere debido a un error real, un seguimiento de pila le dará información adicional para la depuración.