概要
Method#self[*args] -> object
Method#call(*args) -> object
Method#call(*args) { ... } -> object
詳細
メソッドを呼び出します。
[]形式は通常のメソッド呼び出しに近くなるように用意されたものです。
サンプルコード
require 'tbpgr_utils' class Hoge def hoge(msg) yield_ret = yield(msg) if block_given? "hoge-#{msg}-#{yield_ret}" end end h = Hoge.new m = h.method(:hoge) bulk_puts_eval binding, <<-EOS m m['message'] m.call('message') m.call('message') { |x| x*2 } EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
m # => #<Method: Hoge#hoge> m['message'] # => "hoge-message-" m.call('message') # => "hoge-message-" m.call('message') { |x| x*2 } # => "hoge-message-messagemessage"