目指そうかなRubyist RSSフィード

 | 

2011-06-11

[meta] 動的ディスパッチを用いてprivateメソッドを呼び出してみる  [meta] 動的ディスパッチを用いてprivateメソッドを呼び出してみる - 目指そうかなRubyist を含むブックマーク はてなブックマーク -  [meta] 動的ディスパッチを用いてprivateメソッドを呼び出してみる - 目指そうかなRubyist  [meta] 動的ディスパッチを用いてprivateメソッドを呼び出してみる - 目指そうかなRubyist のブックマークコメント

class Foo
  private
  def print(text)
    p text
  end
end

Foo.new.send(:print, 'hoge')  # => "hoge"
Foo.new.public_send(:print, 'hoge')  # => error

呼び出せてしまう。public_sendを用いることでpublicのメソッドのみ読み出せるので通常はこちらをつかったほうがよさそう。ただ、privateなメソッドのテストを行うときにはsend使うと便利かも

 |