本Learn ruby the hard wayで、プログラムを終了するための構文を見つけました。
Process.exit(0)
別の整数を渡すか、パラメーターを渡さなくても機能するのに、ここでメソッドにパラメーター0
が渡されるのはなぜですか? exit
の意味は何0
ですか?
これは「終了コード」です。
この終了コードは、場合によっては特別な意味を持ちます (たとえば、http://tldp.org/LDP/abs/html/exitcodes.htmlを参照してください) 。
コードが後でキャッチされない場合、これは何の効果もありません。
ここで '0' は 'Everything works fine!' の意味です。
これは、子プロセス (この場合、子プロセスは Ruby スクリプト) が開始されると、親プロセス (シェル、システムなど) が終了するまで待機できるためです。
完了すると、親プロセスにその実行ステータスを伝えることができます。ゼロは通常、実行が成功し、エラーなしで完了したことを意味します。
たとえば、bash シェルからスクリプトを実行し、それが を呼び出す場合、変数Process.exit(0)
を使用して成功したかどうかを確認できます。$?
$ ./my_ruby.script # calls Process.exit(0)
$ echo $?
0 # ok, script finished with no errors.