【Ruby3.x】Process::Status::==()メソッドの使い方
==メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
==メソッドは、子プロセスの終了状態を表すProcess::Statusオブジェクトの等価性を比較するメソッドです。Rubyにおいて、外部コマンドの実行や他のプログラムの起動など、子プロセスを操作した際には、そのプロセスがどのように終了したかを知る必要があります。Process::Statusクラスは、このような子プロセスの終了コードや、もし異常終了した場合にはどのシグナルによって終了したかといった詳細な情報を保持しています。
この==メソッドは、主に二つの状況で利用されます。一つは、二つのProcess::Statusオブジェクト同士を比較する場合です。この場合、両方のオブジェクトが同じ終了コードとシグナル情報を持っているときに、等しいと判断されます。もう一つは、Process::Statusオブジェクトと整数を比較する場合です。このときは、Process::StatusオブジェクトがOSから報告された終了ステータスを表す整数値(to_iメソッドで取得できる値)に変換され、その整数値と引数で与えられた整数値が等しいかを比較します。これにより、特定の終了コードでプロセスが終了したかを手軽に確認できるようになります。プロセスの実行結果が期待通りであったかを確認する際に非常に役立つでしょう。
構文(syntax)
1status_object == other_status_object_or_integer
引数(parameters)
req
- req: 比較対象の Process::Status オブジェクト
戻り値(return)
Boolean
2つの Process::Status オブジェクトが、実行したコマンドの終了ステータスコード、シグナル番号、およびコアダンプの有無において等しい場合に、真偽値 true を返します。そうでない場合は、偽となります。