define_method(name, method) -> Symbol
[permalink][rdoc][edit]define_method(name) { ... } -> Symbol
-
インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックがレシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
- [PARAM] name:
- メソッド名を String または Symbol を指定します。
- [PARAM] method:
- Proc、Method あるいは UnboundMethod のいずれかのインスタンスを指定します。
- [RETURN]
- メソッド名を表す Symbol を返します。
- [EXCEPTION] TypeError:
- method に同じクラス、サブクラス、モジュール以外のメソッドを指定した場合に発生します。
class Foo def foo() p :foo end define_method(:bar, instance_method(:foo)) end Foo.new.bar # => :foo