このイベントの中で以下の3つは return_value で戻り値を取得することが出来ます。(他のイベントで呼び出すと例外が発生します) return c_return b_return サンプルコードとしてはこんな感じです。( c_return はちょっと扱いにくいので省略してます ) TracePoint.trace(:return, :b_return) do |tp| p [tp.event, tp.return_value] end def say 'hi' end say (-> { 'piyo' }).call