kind=defined
names=add_filter
visibility=public

--- add_filter(proc)
--- add_filter {|event, file, line, id, binding| .... }

トレース出力するかどうかを決定するフィルタを追加する。
何もフィルタを与えない場合はすべての行についてトレース情報が出力される。
与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば
トレースは出力される。

フィルタは複数追加でき、
そのうち一つでも偽を返すとトレースの出力は抑制される。

フィルタ手続きは引数として event, file, line, id, binding の
5 つをとる ([[m:Kernel#set_trace_func]] で指定するものとほぼ同じ)。

[フィルタ手続きのパラメータ]

: event
イベントを表す文字列。
以下の種類がある。カッコ内は tracer の出力での表記。

    : line (-)
        ある行を実行
    : call (>)
        メソッド呼び出し
    : return (<)
        メソッドからのリターン
    : class (C)
        クラスコンテキストに入った
    : end (E)
        クラスコンテキストから出た
    : raise
        例外が発生した
    : c-call
        Cで記述されたメソッドが呼ばれた
    : c-return
        Cで記述されたメソッドからreturn
: file
現在処理しているファイルの名前

: line
現在処理している行番号

: id
最後に呼び出されたメソッドのメソッド名(のシンボル)
そのようなメソッドがなければ0になる。

: binding
現在のコンテキスト

