是否存在退出程序并显示消息的一行函数调用?我知道在Perl中,它就像:
die("Message goes here")
我厌倦了这样打字:
puts "Message goes here"
exit
是否存在退出程序并显示消息的一行函数调用?我知道在Perl中,它就像:
die("Message goes here")
我厌倦了这样打字:
puts "Message goes here"
exit
我从来没有听说过这样的函数,但它实现起来足够琐碎…
def die(msg)
puts msg
exit
end
然后,如果您在所有脚本中包含的某个.rb文件中定义了该文件,那么您将获得....只是因为它不是内置的,并不意味着你不能自己做;-)
如果你想在你的代码中表示一个实际的错误,你可以引发一个RuntimeError异常:
raise RuntimeError, 'Message goes here'
这将打印一个堆栈跟踪,被引发的异常类型和您提供的消息。根据用户的不同,堆栈跟踪可能太可怕了,实际的消息可能会被淹没在噪音中。另一方面,如果您因实际错误而死亡,则stacktrace将为您提供额外的调试信息。
abort函数可以做到这一点。例如:
abort("Message goes here")
注意:abort消息将被写入STDERR,而put消息将被写入STDOUT。
我在这里寻找一种方法来执行一些代码每当程序结束。 发现了这个:
Kernel.at_exit { puts "sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call
多次调用将注册多个处理程序。