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

instance method Binding#eval

eval(expr, fname = __FILE__, lineno = 1) -> object[permalink][rdoc]

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

[PARAM] expr:
評価したい式を文字列で与えます。
[PARAM] fname:
ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。
[PARAM] 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_ALSO] Kernel.#eval