Rubyリファレンス: Home

instance_methods (Module)

Edit   History

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

mod.instance_methods(all = true)

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

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

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

class Book
  def initialize(title)
    @title = title
  end
  def title
    @title
  end
end
 
p Book.instance_methods(false)
p Book.instance_methods.sort[0, 5]
["title"]
["==", "===", "=~", "__id__", "__send__"]  (Ruby 1.8の場合)
[:title]
[:!, :!=, :!~, :==, :===]                  (Ruby 1.9の場合)

関連項目