Rubyリファレンス: Home

protected_instance_methods (Module)

Edit   History

標準クラス・モジュール > Module > protected_instance_methods

mod.protected_instance_methods(all = true)

protected_instance_methodsメソッドは、クラスやモジュールで定義されているprotectedなインスタンスメソッドの名前を集めて配列にして返します。

配列には親クラスやインクルードしているモジュールのメソッドも含まれます。引数にfalseを指定すると、そのクラスやモジュールで定義されているメソッドだけが返ります。

Ruby 1.9 Ruby 1.8では配列中のメソッド名は文字列ですが、Ruby 1.9ではシンボルになりました。

class Product
  protected
  def some_data
    @some_data
  end
end
 
class Book < Product
end
 
p Book.protected_instance_methods(false)
p Book.protected_instance_methods
[]
["some_data"]     (Ruby 1.8の場合)
[]
[:some_data]      (Ruby 1.9の場合)

関連項目