Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】caller()関数の使い方

caller関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

caller関数は、プログラムの現在の実行地点から、そのコードがどのような経路で呼び出されたかという履歴(スタックトレース)を取得する関数です。これは、メソッド呼び出しの一連の実行フローをさかのぼって確認する際に役立ちます。

引数なしでcaller関数を呼び出すと、Thread::Backtrace::Locationオブジェクトの配列が返されます。これらのオブジェクトには、呼び出し元のファイル名、行番号、メソッド名といった詳細な情報が含まれています。この情報により、特定のコードがどこから実行されたのかを正確に追跡し、プログラムの挙動を理解できます。

また、caller(level)のように整数値を引数に指定することで、特定のレベル以降の呼び出し履歴のみを取得できます。これにより、必要な情報に絞って効率的に確認することが可能になります。

この関数は、エラー発生時のデバッグや、ロギング機能で呼び出し元の情報を付加する際に活用されます。プログラムの呼び出しフローを把握し、問題解決に貢献するツールです。

構文(syntax)

1caller

引数(parameters)

level = 1, *rest

  • level: Integer = 1: 呼び出しスタックをどれだけ遡るかを指定します。デフォルトは1で、呼び出し元のメソッドの情報を取得します。
  • *rest: Any: 任意の数の引数を受け取りますが、caller メソッドでは使用されません。

戻り値(return)

Array of String

現在の実行コンテキストにおける呼び出しスタックの各フレームを表す文字列の配列を返します。

関連コンテンツ

関連プログラミング言語