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 - [PARAM]