PerlerのRuby日記

Rubyとか

privateメソッドはrespond_to?でfalse

タイトルどおり。一瞬詰まったのでメモ。privateなんだからオブジェクトは直接respondできません!

class Foo
  def bar
    "bar"
  end

  private

  def baz
    "baz"
  end
end

foo = Foo.new
foo.respond_to?(:bar) #=> true
foo.respond_to?(:baz) #=> false