るりまサーチ

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

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

モジュール

検索結果

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

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

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

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数...
...ます。文字列の場合はRubyコードとして評価されます。

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

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

hook が...
...返されます)
それ以外は、nil を返します。

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

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

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

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

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数...
...ます。文字列の場合はRubyコードとして評価されます。

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

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

hook が...
...返されます)
それ以外は、nil を返します。

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

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

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

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

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数...
...ます。文字列の場合はRubyコードとして評価されます。

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

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

hook が...
...返されます)
それ以外は、nil を返します。

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

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

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

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

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

@param varname グローバル変数名を...
...トです。
@return 解除されたフックの配列を返します。

//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への変更点(まとめ) (6936.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への変更点(まとめ)/サポートプラットフォームの追加>))

.../$defout>)) [obsolete]
: ((<組み込み変数/$deferr>)) [obsolete]
: ((<組み込み変数/$stdout>)) [change]
: ((<組み込み変数/$stderr>)) [change]
: ((<組み込み変数/$stdin>)) [change]

$stdout, $stderr は、$defout, $deferr の別名になり
$defout, $deferr は ((<obsolete>))...
...動作はなくなりました)

$defout や $deferr に代入を行うと警告がでます。
(注:1.6 に $deferr はありません)
((<ruby-dev:20961>))

$stdin にオブジェクトを代入すると標準入力からの入力メソッド(gets 等)
はそのオブジェクトに...
...。((<ruby-talk:72257>))

syscall(1, 2**30)

=> -:1:in `syscall': wrong argument type Bignum (expected String) (TypeError)
from -:1
ruby
1.6.8 (2002-12-24) [i586-linux]


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

絞り込み条件を変える

Object#freeze -> self (6224.0)

オブジェクトを凍結(内容の変更を禁止)します。

...untimeError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。

凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze...
...ません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。

@return self を返します。

//emlist[][ruby]{
a1 = "foo".freeze
a1 = "bar"
p a...
...foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。

//emlist[][ruby]{
a = [1].freeze
p a.frozen?...
...FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。

凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze...
...foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。

//emlist[][ruby]{
a = [1].freeze
p a.frozen?...

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

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

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

Ruby
のセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってな...
...方です。

オブジェクトの汚染に関連するメソッド

: Object#taint
オブジェクトを汚染する

: Object#tainted?
オブジェクトが汚染されている場合に真を返す

: Object#untaint
オブジェクトの汚染を取り除く

=== セーフレ...
...$SAFEの値を引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-
e:1: tried to downgrade safe level fr...
...

: Object#taint
オブジェクトを汚染する

: Object#tainted?
オブジェクトが汚染されている場合に真を返す

: Object#untaint
オブジェクトの汚染を取り除く

=== セーフレベル

セーフレベルはグローバル変数 $SAFE で設定...
... ensure で戻す
//emlist{
$SAFE = 0
th = Thread.new do
p $SAFE # => 0
$SAFE = 1
e
nsure
$SAFE = 0
e
nd
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事もできる
//emlist{
$ ruby -e '$SAFE = 1...