Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Kernel | trace_var

概要

Kernel#trace_var(varname, hook) -> nil
Kernel#trace_var(varname) {|new_val| .... } -> nil
Kernel#trace_var(varname, hook) -> [String|Proc]

詳細

グローバル変数 varname への代入のフックを登録します。
ここでの「グローバル変数」は、特殊変数 (変数と定数/組み込み変数 を参照)も含めた `$' で始まる変数のことです。

サンプルコード
trace_var(:$VERBOSE) { |val|puts val ? 'VERBOSE active' : 'VERBOSE disable' }

$VERBOSE = true
$VERBOSE = false

出力

VERBOSE active
VERBOSE disable