instance_methods(inherited_too = true) -> [Symbol][permalink][rdoc][edit]-
そのモジュールで定義されている public および protected メソッド名の一覧を配列で返します。
- [PARAM]
inherited_too: - false を指定するとそのモジュールで定義されているメソッドのみ返します。
[SEE_ALSO] Object#methods, Module#public_instance_methods, Module#private_instance_methods, Module#protected_instance_methods
例1
実行結果class Cat private; def private_foo() end protected; def protected_foo() end public; def public_foo() end end # あるクラスのインスタンスメソッドの一覧を得る p Cat.instance_methods(false) p Cat.public_instance_methods(false) p Cat.private_instance_methods(false) p Cat.protected_instance_methods(false) class Kitten < Cat end
例2[:protected_foo, :public_foo] [:public_foo] [:private_foo] [:protected_foo]
実行結果class Dog private; def private_foo() end protected; def protected_foo() end public; def public_foo() end end # あるクラスのインスタンスメソッドの一覧を得る。 # 親のクラスのインスタンスメソッドも含めるため true を指定して # いるが、Object のインスタンスメソッドは一覧から排除している。 p Dog.instance_methods(true) - Object.instance_methods(true) p Dog.public_instance_methods(true) - Object.public_instance_methods(true) p Dog.private_instance_methods(true) - Object.private_instance_methods(true) p Dog.protected_instance_methods(true) - Object.protected_instance_methods(true)[:protected_foo, :public_foo] [:public_foo] [:private_foo] [:protected_foo] - [PARAM]