【Ruby3.x】Process::Status::to_i()メソッドの使い方
to_iメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
to_iメソッドは、Process::Statusオブジェクトが保持する外部プロセスの終了状態を、OSが認識する生の整数値に変換して取得するメソッドです。Process::Statusクラスは、Rubyプログラムから起動した外部コマンドやスクリプトが終了した際に、その終了コードや、どのように終了したかといった様々な情報を提供するオブジェクトです。このto_iメソッドを利用すると、基盤となるOSのシステムコールが返す、そのままの整数値を得ることができます。
この整数値は、プロセスが正常に終了したか、特定の終了コードで終了したか、あるいはシグナルによって中断されたかなどの情報が、ビット単位で符号化されています。そのため、この値はOSがプロセスの終了状態を表現するために内部的に使用するものであり、プログラマが直接解釈するには専門知識が必要となる低レベルな情報を含んでいます。通常、Process::Statusオブジェクトのより高レベルなメソッド、例えばexitstatus(プロセスの終了コードを取得)やsuccess?(プロセスが成功終了したかを確認)などを使用する方が、情報を扱いやすく、推奨されます。to_iメソッドは、より詳細なOSレベルでの終了情報を直接扱いたい場合や、これらの高レベルなメソッドが内部で利用する元のデータ形式を知りたい場合に利用されます。
構文(syntax)
1status = Process.wait2(Process.spawn("echo hello"))[1] 2status.to_i
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
このメソッドは、プロセスの終了ステータスを整数値で返します。