Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Bindingクラス

class Binding

クラスの継承リスト: Binding < Object < Kernel

要約

ローカル変数のテーブルと self、モジュールのネストなどの情報を保 持するオブジェクトのクラスです。

組み込み関数 Kernel.#binding によっ てのみ生成され、Kernel.#eval の第 2 引数に使用します。 またトップレベルの Binding オブジェクトとして組み込み定数 Kernel::TOPLEVEL_BINDING が用意されています。

インスタンスメソッド

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

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

[PARAM] expr:
評価したい式を文字列で与えます。
[PARAM] fname:
ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。
[PARAM] lineno:
行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。
def getBinding(str)
  return binding
end
str = "hello"
p eval("str + ' Fred'")                     #=> "hello Fred"
p getBinding("bye").eval("str + ' Fred'")   #=> "bye Fred"

[SEE_ALSO] Kernel.#eval

class Binding