Ruby 3.3 リファレンスマニュアル

singleton method Thread.each_caller_location

each_caller_location {|location| ... } -> nilRuby 3.2 から[permalink][rdoc][edit]

現在の実行スタックの各フレームを、Thread::Backtrace::Location オブジェクトとしてブロックに渡します。

Kernel.#caller_locations と似ていますが、配列を作らずにブロックへ順に渡すため、目的のフレームが見つかった時点で処理を打ち切るような用途で無駄な生成を避けられます。

nil を返します。

def foo
  Thread.each_caller_location do |location|
    p location.class # => Thread::Backtrace::Location
    break
  end
end

foo

[SEE_ALSO] Kernel.#caller_locations