メソッド一覧を確認するメソッドたち
methods : メソッドの名前を配列で返す。
private_methods : privateなメソッドの名前を配列で返す。
protected_methods : protectedなメソッドの名前を配列で返す。
public_methods : publicなメソッドの名前を配列で返す。
singleton_methods : 特異メソッドの名前を配列で返す。
instance_methods (Module) : メソッドの名前を配列で返す。
例) methodsの使い方
str = "hello" def str.double self + self end p str.methods # => [:double, :<=>, :==, :===, :eql?, ・・・・・ #レシーバーのクラスのメソッドのみを返却 p str.methods(false) # =>[:double] # sendを含むメソッドのみを返却 p.str.methods.grep(/send/) # => [:send, :public_send, :__send__]
includeしたモジュールを確認するメソッド
Module#ancestors
クラスの親クラスを配列にして返却する
p Array.ancestors [Array, Enumerable, Object, Kernel] class Cat end p Cat.ancestors [Cat, Object, Kernel, BasicObject] (Ruby 1.9の場合)
継承クラス一覧を確認するメソッド
Module#included_modules
クラスやモジュールがincludeしているモジュールを配列にして返却する
p String.included_modules [Comparable, Kernel] (Ruby 1.9の場合)