9

Learn ruby​​ the hard wayで、プログラムを終了するための構文を見つけました。

Process.exit(0)

別の整数を渡すか、パラメーターを渡さなくても機能するのに、ここでメソッドにパラメーター0が渡されるのはなぜですか? exitの意味は何0ですか?

4

2 に答える 2

12

これは「終了コード」です。

この終了コードは、場合によっては特別な意味を持ちます (たとえば、http://tldp.org/LDP/abs/html/exitcodes.htmlを参照してください) 。

コードが後でキャッチされない場合、これは何の効果もありません。

ここで '0' は 'Everything works fine!' の意味です。

于 2013-03-21T09:13:38.923 に答える
7

これは、子プロセス (この場合、子プロセスは Ruby スクリプト) が開始されると、親プロセス (シェル、システムなど) が終了するまで待機できるためです。

完了すると、親プロセスにその実行ステータスを伝えることができます。ゼロは通常、実行が成功し、エラーなしで完了したことを意味します。

たとえば、bash シェルからスクリプトを実行し、それが を呼び出す場合、変数Process.exit(0)を使用して成功したかどうかを確認できます。$?

$ ./my_ruby.script        # calls Process.exit(0)
$ echo $?
0                         # ok, script finished with no errors.
于 2013-03-21T09:13:50.783 に答える