如何创建退出消息

时间:2020-03-05 18:43:39  来源:igfitidea点击:

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

die("Message goes here")

我厌倦了这样输入:

puts "Message goes here"
exit

解决方案

回答

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

def die(msg)
  puts msg
  exit
end

然后,如果在所有脚本中都包含的某个.rb文件中定义了该文件,那么我们就很聪明了……。仅仅因为它不是内置的,并不意味着我们自己不能做到这一点;-)

回答

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

raise RuntimeError, 'Message goes here'

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

回答

中止功能可以做到这一点。例如:

abort("Message goes here")

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