Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > tracerライブラリ > Tracerクラス > set_get_line_procs

singleton method Tracer.set_get_line_procs

set_get_line_procs(filename, proc)[permalink][rdoc]
set_get_line_procs(filename) {|line| .... }

あるファイルについて利用する、行番号からソースのその行の内容を返す手続きを指定します。何も指定しなければデフォルトの動作が利用されます。指定する手続きは行番号を唯一の引数として呼び出されます。

[PARAM] filename:
ソースファイルの場所を文字列で指定します。
[PARAM] proc:
通常、文字列を返す手続きオブジェクトを指定します。
# 例 dummy.rb の3行目から6 行目のトレース出力に !! をつける
require 'tracer'

Tracer.set_get_line_procs('./dummy.rb'){|line|
  str = "\n"
  str = "!!\n" if line >= 3 and line <= 6
  str
}
Tracer.on
require 'dummy'

dm = Dummy.new
puts dm.number

=begin
# dummy.rb
class Dummy
  def initialize
    @number = 135
  end
  attr :number
end
=end