Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Object | method

概要

Object#method(name) -> Method

詳細

オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返却。

サンプルコード
require 'tbpgr_utils'

class Hoge
  def hoge(repeat)
    'hoge'*repeat
  end
end

hoge_method = Hoge.new.method(:hoge)

bulk_puts_eval binding, <<-EOS
hoge_method
hoge_method.class
hoge_method.call(2)
hoge_method.(3)
hoge_method[4]
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

$ ruby object_method.rb
hoge_method         # =>                   #<Method: Hoge#hoge>
hoge_method.class   # => Method
hoge_method.call(2) # => "hogehoge"
hoge_method.(3)     # => "hogehogehoge"
hoge_method[4]      # => "hogehogehogehoge"