るりまサーチ

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.025秒)
トップページ > クエリ:Kernel.#eval[x] > 種類:インスタンスメソッド[x]

別のキーワード

  1. kernel exec
  2. kernel spawn
  3. kernel open
  4. kernel system
  5. kernel fail

ライブラリ

クラス

キーワード

検索結果

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

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

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

@param expr 評価したい式を文字列で与えます。

@param fname...
...ます。式 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...

BasicObject#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (6300.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の...
...
d:spec/def#nest_method を参照してください。

BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object...
...some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval 'raise messg','file.rb',999 # file.rb:999...

Module#class_eval(expr, fname = "(eval)", lineno = 1) -> object (6249.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

文字列が与えられた場合には、定数とクラス変数のスコープは自身の...
...表示などを差し替えることができます。

例:

class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]

@see BasicObject#instance_eval, Module.new, Kernel.#eval...

Module#module_eval(expr, fname = "(eval)", lineno = 1) -> object (6249.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

文字列が与えられた場合には、定数とクラス変数のスコープは自身の...
...表示などを差し替えることができます。

例:

class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]

@see BasicObject#instance_eval, Module.new, Kernel.#eval...

BasicObject#instance_eval {|obj| ... } -> object (6200.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval 内の...
...
d:spec/def#nest_method を参照してください。

BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object...
...some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval 'raise messg','file.rb',999 # file.rb:999...

絞り込み条件を変える

Module#class_eval {|mod| ... } -> object (6149.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

文字列が与えられた場合には、定数とクラス変数のスコープは自身の...
...表示などを差し替えることができます。

例:

class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]

@see BasicObject#instance_eval, Module.new, Kernel.#eval...

Module#module_eval {|mod| ... } -> object (6149.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

文字列が与えられた場合には、定数とクラス変数のスコープは自身の...
...表示などを差し替えることができます。

例:

class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]

@see BasicObject#instance_eval, Module.new, Kernel.#eval...

Object#__send__(name, *args) -> object (19.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"

@see Object#method, Kernel.#eval, Proc, Method...

Object#__send__(name, *args) { .... } -> object (19.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"

@see Object#method, Kernel.#eval, Proc, Method...

Object#instance_variables -> [Symbol] (19.0)

オブジェクトのインスタンス変数名をシンボルの配列として返します。

...ルの配列として返します。

obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables

#=> [:@foo, :@bar]

@see Object#instance_variable_get, Kernel.#local_variables, Kernel.#global_variables, Module.constants, Module#constants, Module#class_variables...

絞り込み条件を変える

Object#method(name) -> Method (19.0)

オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。

...指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。

me = -365.method(:abs)
p me #=> #<Method: Integer#abs>
p me.call #=> 365

@see Module#instance_method, Method, Object#__send__, Kernel.#eval, Object#singleton_method...

Object#send(name, *args) -> object (19.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"

@see Object#method, Kernel.#eval, Proc, Method...

Object#send(name, *args) { .... } -> object (19.0)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"

@see Object#method, Kernel.#eval, Proc, Method...

Object#singleton_method(name) -> Method (19.0)

オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。

...Demo.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError

@see Module#instance_method, Method, Object#__send__, Kernel.#eval, Object#method...