るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.024秒)
トップページ > クエリ:nil[x] > クエリ:trace_var[x]

別のキーワード

  1. kernel trace_var
  2. _builtin trace_var
  3. tracer trace_func
  4. matrix trace
  5. etc sc_trace_log

種類

ライブラリ

モジュール

検索結果

Kernel.#trace_var(varname) {|new_val| .... } -> nil (18241.0)

グローバル変数 varname への代入のフックを登録します。

...ドとして評価されます。

trace_var
がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil
指定するか、Kernel.#untrace_var を用います。

hook が nil ならば、設定されていた
h...
...されます)
それ以外は、nil を返します。

@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した...
...場合は解除した
フックを並べた配列を返します。

//emlist[例][ruby]{
trace_var
(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}

@see Kernel.#untrace_var...

Kernel.#trace_var(varname, hook) -> nil (18241.0)

グローバル変数 varname への代入のフックを登録します。

...ドとして評価されます。

trace_var
がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil
指定するか、Kernel.#untrace_var を用います。

hook が nil ならば、設定されていた
h...
...されます)
それ以外は、nil を返します。

@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した...
...場合は解除した
フックを並べた配列を返します。

//emlist[例][ruby]{
trace_var
(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}

@see Kernel.#untrace_var...

Kernel.#trace_var(varname, hook) -> [String|Proc] (18141.0)

グローバル変数 varname への代入のフックを登録します。

...ドとして評価されます。

trace_var
がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil
指定するか、Kernel.#untrace_var を用います。

hook が nil ならば、設定されていた
h...
...されます)
それ以外は、nil を返します。

@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した...
...場合は解除した
フックを並べた配列を返します。

//emlist[例][ruby]{
trace_var
(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}

@see Kernel.#untrace_var...

Kernel.#untrace_var(varname, hook = nil) -> [String|Proc] (6231.0)

グローバル変数 varname に関連付けられたフックを解除します。

...関連付けられたフックを解除します。

hook が指定された場合にはそのフックだけを解除します。
省略するか nil を与えた場合は
varname のフックを全て解除します。

@param varname グローバル変数名を文字列か Symbol で指定しま...
...す。

//emlist[例][ruby]{
trace_var
(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{|val| print "hookB.#{val.inspect}," }
trace_var
(:$v,&block)
$v = 'str' #=> hookB."str",hookA."str",

untrace_var(:$v,block)
$v = 'str' #=> hookA."str",

trace_var
(:$v){|val| print "hookC.#{...
...val.inspect}," }
p untrace_var(:$v) #=> [#<Proc:0x02b68f58@..:9>, #<Proc:0x02b6978c@..:3>]
$v = 'str' # なにも出力されない
//}

@see Kernel.#trace_var...

1.6.8から1.8.0への変更点(まとめ) (384.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

...りました。
* nil: 警告を出力しない (-W0 新しい警告レベル)
* false: 重要な警告のみ出力 (-W1 デフォルト)
* true: すべての警告を出力する (-W2 or -W or -v or -w or --verbose)

追加された -W オプションは $VERBOSE = nil の指定(-W0)を...
...from -:1
ruby 1.6.8 (2002-12-24) [i586-linux]
=> ruby 1.8.0 (2003-06-21) [i586-linux]
[1, 2, nil]

Proc.new { break }.call

=> ruby 1.6.8 (2002-12-24) [i586-linux]

=> -:1:in `call': break from proc-c...
...r)
from -:1
ruby 1.6.8 (2002-12-24) [i586-linux]


: ((<組み込み関数/trap>)) [bug]
: ((<組み込み関数/trace_var>)) [bug]

第二引数に汚染された文字列を渡すと例外 ((<SecurityError>)) が
起こるようになりました。1.6 では...

絞り込み条件を変える

セキュリティモデル (18.0)

セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。

...れた文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染されない。

=== 使用例


一旦高くした$SAFE...
...プログラムの一部だけを高いセーフレベルで実行することが可
能です。

//emlist[例][ruby]{
def safe(level)
result = nil
Thread.start {
$SAFE = level
result = yield
}.join
result
end

lib = "insecure_library".taint # 外部から受け取った文字列(...
...された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。

=== 使用例


一旦高くした$SAFEレベ...
...された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。

=== 使用例

$SAFE はスレッドローカ...
...ルで実行するには、以下のように ensure でセーフレベルを
戻す必要があります。

//emlist{
def safe(level)
result = nil
Thread.start do
$SAFE = level
result = yield
ensure
$SAFE = 0
end.join
result
end

lib = "insecure_library".taint # 外部から...