在《硬着头皮学习ruby》一书中,我找到了退出程序的语法:
Process.exit(0)
为什么在我传递另一个整数或不传递任何参数0
的情况下在方法中传递参数?exit
有什么意义0
?
这是一个“退出代码”。
此退出代码在某些情况下具有特殊含义(例如参见http://tldp.org/LDP/abs/html/exitcodes.html)
你可以传递任何你想要的,如果代码没有被捕获,这将没有任何影响。
这里的“0”代表“一切正常!”
这是因为当子进程启动时(在这种情况下,子进程是您的 Ruby 脚本)父进程(shell、系统等)可以等待它完成。
一旦完成,它可以告诉父进程它的执行状态是什么。零通常意味着执行已成功完成并且没有任何错误。
例如,如果您从 bash shell 运行脚本,它会调用,您可以使用变量Process.exit(0)
检查它是否成功:$?
$ ./my_ruby.script # calls Process.exit(0)
$ echo $?
0 # ok, script finished with no errors.