るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
6件ヒット [1-6件を表示] (0.005秒)
トップページ > バージョン:2.4.0[x] > クラス:Binding[x]

ライブラリ

検索結果

Binding#eval(expr, fname = __FILE__, lineno = 1) -> object (2.0)

自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。

...ます。式 expr の先頭行の行番号が lineno であるかのように実行されます。

def get_binding(str)
binding

end
str = "hello"
p eval("str + ' Fred'") #=> "hello Fred"
p get_binding("bye").eval("str + ' Fred'") #=> "bye Fred"

@see Kernel.#eval...

Binding#local_variable_defined?(symbol) -> bool (2.0)

引数 symbol で指定した名前のローカル変数が定義されている場合に true を、 そうでない場合に false を返します。

...a = 1
binding
.local_variable_defined?(:a) # => true
binding
.local_variable_defined?(:b) # => false
end

このメソッドは以下のコードの短縮形です。

binding
.eval("defined?(#{symbol}) == 'local-variable'")

@see Binding#local_variable_get, Binding#local_vari...

Binding#local_variable_get(symbol) -> object (2.0)

引数 symbol で指定した名前のローカル変数に設定された値を返します。

...ます。

def foo
a = 1
binding
.local_variable_get(:a) # => 1
binding
.local_variable_get(:b) # => NameError
end

このメソッドは以下のコードの短縮形です。

binding
.eval("#{symbol}")

@see Binding#local_variable_set, Binding#local_variable_defined?...

Binding#local_variable_set(symbol, obj) (2.0)

引数 symbol で指定した名前のローカル変数に引数 obj を設定します。

...

def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # set existing local variable `a'
bind.local_variable_set(:b, 3) # create new local variable `b'
# `b' exists only in binding
p bind.local_variable_get(:a) # => 2...
...p b # => NameError
end

このメソッドは以下のコード(ただし、obj が Ruby のコードで出力される場
合)と同様の動作をします。

binding
.eval("#{symbol} = #{obj}")

@see Binding#local_variable_get, Binding#local_variable_defined?...

Binding#local_variables -> [Symbol] (2.0)

ローカル変数の一覧を Symbol の配列で返します。

...ol の配列で返します。

def foo
a = 1
2.times do |n|
binding
.local_variables #=> [:a, :n]
end
end

このメソッドは以下のコードと同様の動作をします。

binding
.eval("local_variables")...

絞り込み条件を変える

Binding#receiver -> object (2.0)

保持するコンテキスト内での self を返します。

...保持するコンテキスト内での self を返します。

このメソッドは以下のコードと同様の動作をします。

binding
.eval("self")...