instance_method(name) -> UnboundMethod
[permalink][rdoc][edit]-
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
- [PARAM] name:
- メソッド名を Symbol または String で指定します。
- [EXCEPTION] NameError:
- self に存在しないメソッドを指定した場合に発生します。
[SEE_ALSO] Module#public_instance_method, Object#method
class Interpreter def do_a() print "there, "; end def do_d() print "Hello "; end def do_e() print "!\n"; end def do_v() print "Dave"; end Dispatcher = { "a" => instance_method(:do_a), "d" => instance_method(:do_d), "e" => instance_method(:do_e), "v" => instance_method(:do_v) } def interpret(string) string.each_char {|b| Dispatcher[b].bind(self).call } end end interpreter = Interpreter.new interpreter.interpret('dave') # => Hello there, Dave!