是否有单行函数调用退出程序并显示消息?我在Perl中知道它很简单:
die("Message goes here")
我已经厌倦了打字:
puts "Message goes here"
exit
答案 0 :(得分:354)
abort
函数执行此操作。例如:
abort("Message goes here")
注意:abort
消息将写入STDERR
,而puts
将写入STDOUT
。
答案 1 :(得分:23)
如果您想在代码中表示实际错误,可以引发RuntimeError
例外:
raise RuntimeError, 'Message goes here'
这将打印一个堆栈跟踪,引发的异常类型以及您提供的消息。根据您的用户,堆栈跟踪可能过于可怕,实际消息可能会在噪声中丢失。另一方面,如果由于实际错误而死亡,堆栈跟踪将为您提供有关调试的其他信息。
答案 2 :(得分:2)
我从来没有听说过这样的功能,但实施起来会非常简单......
def die(msg)
puts msg
exit
end
然后,如果这是在你所有脚本中包含的某个.rb文件中定义的,那么你就是金色......只是因为它没有内置并不意味着你不能自己做; - )< / p>
答案 3 :(得分:2)
我在这里寻找一种方法来在程序结束时执行一些代码 Found this:
Kernel.at_exit { puts "sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call
多次调用会注册多个处理程序。