如何创建退出邮件

时间:2008-08-27 04:48:50

标签: ruby

是否有单行函数调用退出程序并显示消息?我在Perl中知道它很简单:

die("Message goes here")

我已经厌倦了打字:

puts "Message goes here"
exit

4 个答案:

答案 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

多次调用会注册多个处理程序。