exitabort函数执行此操作。例如:1abort"Message goes here"注意:a"/>

关于ruby:如何创建退出消息

关于ruby:如何创建退出消息

How to create an exit message

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

1
die("Message goes here")

我厌倦了这样输入:

1
2
puts"Message goes here"
exit

abort函数执行此操作。例如:

1
abort("Message goes here")

注意:abort消息将被写入STDERR,而puts消息将被写入STDOUT


如果要在代码中表示实际错误,则可以引发RuntimeError异常:

1
raise RuntimeError, 'Message goes here'

这将打印一个堆栈跟踪,引发的异常类型以及您提供的消息。根据您的用户,堆栈跟踪可能会太吓人,实际的消息可能会在噪音中丢失。另一方面,如果您因实际错误而死亡,那么堆栈跟踪将为您提供更多信息以进行调试。


我在这里寻找一种在程序结束时执行一些代码的方法。
发现了这一点:

1
2
3
4
5
Kernel.at_exit { puts"sayonara" }
# do whatever
# [...]
# call #exit or #abort or just let the program end
# calling #exit! will skip the call

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


我从来没有听说过这样的功能,但是实现起来很简单……

1
2
3
4
def die(msg)
  puts msg
  exit
end

然后,如果在包含在所有脚本中的某个.rb文件中定义了该文件,那么您会很高兴....仅仅因为它不是内置的,并不意味着您自己不能这样做;-)


推荐阅读