instance method TracePoint#enable

enable -> bool[permalink][rdoc][edit]
enable { ... } -> object

self のトレースを有効にします。

実行前の TracePoint#enabled? を返します。(トレースが既に有効であった場合は true を返します。そうでなければ false を返します)

trace.enabled?  # => false
trace.enable    # => false (実行前の状態)

# トレースが有効

trace.enabled?  # => true
trace.enable    # => true (実行前の状態)

# 引き続きトレースが有効

ブロックが与えられた場合、ブロック内でのみトレースが有効になります。この場合はブロックの評価結果を返します。

trace.enabled?   # => false

trace.enable do
  trace.enabled? # => true
end

trace.enabled?   # => false

[注意] イベントフックのためのメソッドにブロックの外側で参照した場合は RuntimeError が発生する事に注意してください。

trace.enable { p trace.lineno }
# => RuntimeError: access from outside

[SEE_ALSO] TracePoint#disable, TracePoint#enabled?