Rubyリファレンス: Home

protected_methods (Object)

Edit   History

標準クラス・モジュール > Object > protected_methods

obj.protected_methods(all = true)

protected_methodsメソッドは、レシーバのprotectedなメソッドの名前を集めて配列にして返します。レシーバのクラスのメソッドだけでなく、親クラスやインクルードしているモジュールのメソッドも含まれます。引数にfalseを指定すると、レシーバのクラスのメソッドだけが返ります。

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

class Cat
  protected
  def color=(v) ; @color = v end
  def color     ; @color     end
end
 
class BlackCat < Cat
end
 
bcat = BlackCat.new
p bcat.protected_methods
p bcat.protected_methods(false)
["color", "color="]
[]   (Ruby 1.8の場合)
[:color=, :color]
[]    (Ruby 1.9の場合)

関連項目