るりまサーチ

最速Rubyリファレンスマニュアル検索!
77件ヒット [1-77件を表示] (0.365秒)
トップページ > クエリ:_builtin[x] > クエリ:new[x] > クエリ:name[x] > ライブラリ:ビルトイン[x] > クエリ:instance_eval[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

検索結果

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

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

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

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval...
... instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下に作成されるためです。

@param expr 評価する文字列です。

@param filename...
...字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行されます。スタックトレースの
表示などを差し替えることができます。

@param lineno 整数を指定します。行番号 lineno...

Object#respond_to?(name, include_all = false) -> bool (8173.0)

オブジェクトがメソッド name を持つとき真を返します。

...オブジェクトがメソッド name を持つとき真を返します。

オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。

Windows での Process.fork や GNU/Linux での File.lchmod の
...
...ます。

メソッドが定義されていない場合は、Object#respond_to_missing? を呼
び出してその結果を返します。

@param name Symbol または文字列で指定するメソッド名です。

@param include_all private メソッドと protected メソッドを確認の対...
...lo
"Bonjour"
end
end

class D
private
def hello
"Guten Tag"
end
end
list = [F.new,D.new]

list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour

list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
# Guten Tag

module Template
d...

Module#define_method(name) { ... } -> Symbol (8138.0)

インスタンスメソッド name を定義します。

...インスタンスメソッド name を定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。

@param name メソッド名を String または Symbol...
...

@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

Module#define_method(name, method) -> Symbol (8138.0)

インスタンスメソッド name を定義します。

...インスタンスメソッド name を定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。

@param name メソッド名を String または Symbol...
...

@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

BasicObject#singleton_method_undefined(name) -> object (8133.0)

特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。

...d_undefined を使います。

@param name 未定義にされたメソッド名が Symbol で渡されます。

//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end

obj = Foo.new
def obj.foo
end
def obj.bar
end

clas...

絞り込み条件を変える

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

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

...のスコープはブロックの外側のスコープになります。


@param expr 評価される文字列。

@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示...
...などを差し替えることができます。

//emlist[例][ruby]{
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 (8120.0)

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

...のスコープはブロックの外側のスコープになります。


@param expr 評価される文字列。

@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示...
...などを差し替えることができます。

//emlist[例][ruby]{
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...