instance method Module#define_method
define_method(name, method) -> Proc | Method | UnboundMethod
define_method(name) { ... } -> Proc
-
インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが レシーバクラスのインスタンスの上で Object#instance_eval されます。
- [PARAM] name:
- String または Symbol を指定します。
- [PARAM] method:
- Proc、Method あるいは UnboundMethod の いずれかのインスタンスを指定します。
- [RETURN]
- 引数 method を与えたときはそれを、ブロック付きで 呼びだしたときはブロックを Proc 化したオブジェクトを、 それぞれ返します。
class Foo def foo() p :foo end define_method(:bar, instance_method(:foo)) end Foo.new.bar # => :foo
class Module