クラス
- Binding (6)
- ERB (2)
-
IRB
:: Frame (3) - Proc (1)
- Thread (3)
- TracePoint (1)
- Tracer (1)
モジュール
- Kernel (1)
キーワード
-
add
_ trace _ func (1) - backtrace (1)
- bottom (1)
- eval (1)
-
local
_ variable _ defined? (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) -
local
_ variables (1) - receiver (1)
- result (1)
- run (1)
-
set
_ trace _ func (1) - top (1)
-
trace
_ func (2) - xmp (1)
検索結果
先頭5件
-
Proc
# binding -> Binding (82276.0) -
Proc オブジェクトが保持するコンテキストを Binding オブジェクトで返します。
Proc オブジェクトが保持するコンテキストを
Binding オブジェクトで返します。
//emlist[例][ruby]{
def fred(param)
proc {}
end
sample_proc = fred(99)
eval("param", sample_proc.binding) # => 99
//} -
TracePoint
# binding -> Binding (82276.0) -
発生したイベントによって生成された Binding オブジェクトを返します。
発生したイベントによって生成された Binding オブジェクトを返します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.binding.local_variables # => [:ret]
end
trace.enable
foo 1
//} -
Binding
# local _ variable _ defined?(symbol) -> bool (63694.0) -
引数 symbol で指定した名前のローカル変数が定義されている場合に true を、 そうでない場合に false を返します。
引数 symbol で指定した名前のローカル変数が定義されている場合に true を、
そうでない場合に false を返します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_defined?(:a) # => true
binding.local_variable_defined?(:b) # => false
end
//}
このメソッドは以下のコードの短縮形です。
//emlist[][ruby]{
bindin... -
Binding
# local _ variable _ get(symbol) -> object (54394.0) -
引数 symbol で指定した名前のローカル変数に設定された値を返します。
引数 symbol で指定した名前のローカル変数に設定された値を返します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
@raise NameError 引数 symbol で指定したローカル変数が未定義の場合に発生します。
//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_get(:a) # => 1
binding.local_variable_get(:b) # => NameError
end
//}
このメソッドは以下のコードの短縮形です。
//emlis... -
Binding
# local _ variable _ set(symbol , obj) (54394.0) -
引数 symbol で指定した名前のローカル変数に引数 obj を設定します。
引数 symbol で指定した名前のローカル変数に引数 obj を設定します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
@param obj 引数 symbol で指定したローカル変数に設定するオブジェクトを指定します。
//emlist[例][ruby]{
def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # set existing local variable `a'
bind.local_variable_set(:b, 3) # create ... -
Binding
# local _ variables -> [Symbol] (54340.0) -
ローカル変数の一覧を Symbol の配列で返します。
ローカル変数の一覧を Symbol の配列で返します。
//emlist[例][ruby]{
def foo
a = 1
2.times do |n|
binding.local_variables #=> [:a, :n]
end
end
//}
このメソッドは以下のコードと同様の動作をします。
//emlist[][ruby]{
binding.eval("local_variables")
//} -
Binding
# receiver -> object (54322.0) -
保持するコンテキスト内での self を返します。
保持するコンテキスト内での self を返します。
このメソッドは以下のコードと同様の動作をします。
//emlist[][ruby]{
binding.eval("self")
//} -
Thread
# add _ trace _ func(pr) -> Proc (36820.0) -
スレッドにトレース用ハンドラを追加します。
スレッドにトレース用ハンドラを追加します。
追加したハンドラを返します。
@param pr トレースハンドラ(Proc オブジェクト)
//emlist[例][ruby]{
th = Thread.new do
class Trace
end
43.to_s
end
th.add_trace_func lambda {|*arg| p arg }
th.join
# => ["line", "example.rb", 4, nil, #<Binding:0x00007f98e107d0d8>, nil]
# => ["c-call", "example.rb", 4, ... -
Binding
# eval(expr , fname = _ _ FILE _ _ , lineno = 1) -> object (36358.0) -
自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。
自身をコンテキストとし文字列 expr を
Ruby プログラムとして評価しその結果を返します。
組み込み関数 Kernel.#eval を使って
eval(expr, self, fname, lineno) とするのと同じです。
@param expr 評価したい式を文字列で与えます。
@param fname ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。
@param lineno 行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。
//emlist[例][rub... -
Tracer
# trace _ func(event , file , line , id , binding , klass , *) -> object | nil (27907.0) -
@todo
@todo -
Thread
# set _ trace _ func(pr) -> Proc | nil (27538.0) -
スレッドにトレース用ハンドラを設定します。
スレッドにトレース用ハンドラを設定します。
nil を渡すとトレースを解除します。
設定したハンドラを返します。
//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join
# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>, nil]
#... -
Thread
# backtrace -> [String] | nil (27322.0) -
スレッドの現在のバックトレースを返します。
スレッドの現在のバックトレースを返します。
スレッドがすでに終了している場合は nil を返します。
//emlist[例][ruby]{
class C1
def m1
sleep 5
end
def m2
m1
end
end
th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] ... -
IRB
:: Frame # trace _ func(event , file , line , id , binding) -> Binding (19210.0) -
ライブラリ内部で使用します。
ライブラリ内部で使用します。 -
ERB
# result(b=TOPLEVEL _ BINDING) -> String (18973.0) -
ERB を b の binding で実行し、結果の文字列を返します。
ERB を b の binding で実行し、結果の文字列を返します。
@param b eRubyスクリプトが実行されるときのbinding
//emlist[例][ruby]{
require 'erb'
erb = ERB.new("test <%= test1 %>\ntest <%= test2 %>\n")
test1 = "foo"
test2 = "bar"
puts erb.result
# test foo
# test bar
//} -
ERB
# run(b=TOPLEVEL _ BINDING) -> nil (18973.0) -
ERB を b の binding で実行し、結果を標準出力へ印字します。
ERB を b の binding で実行し、結果を標準出力へ印字します。
@param b eRubyスクリプトが実行されるときのbinding
//emlist[例][ruby]{
require 'erb'
erb = ERB.new("test <%= test1 %>\ntest <%= test2 %>\n")
test1 = "foo"
test2 = "bar"
erb.run
# test foo
# test bar
//} -
IRB
:: Frame # bottom(n = 0) -> Binding (9607.0) -
下から n 番目のコンテキストを取り出します。
下から n 番目のコンテキストを取り出します。
@param n 取り出すコンテキストを Integer で指定します。n は 0 が最
下位になります。 -
IRB
:: Frame # top(n = 0) -> Binding (9607.0) -
上から n 番目のコンテキストを取り出します。
上から n 番目のコンテキストを取り出します。
@param n 取り出すコンテキストを Integer で指定します。n は 0 が最
上位になります。 -
Kernel
# xmp(exps , bind = nil) -> XMP (9358.0) -
引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行 ごとに交互に表示します。
引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行
ごとに交互に表示します。
@param exps 評価するRuby のソースコードを文字列で指定します。
@param bind Binding オブジェクトを指定します。省略した場合は、最
後に実行した XMP#puts、Kernel#xmp の
Binding を使用します。まだ何も実行していない場合は
Object::TOPLEVEL_BINDING を使用します。