Rubyリファレンス: Home

public_instance_methods (Module)

Edit   History

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

mod.public_instance_methods(all = true)

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

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

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

p String.public_instance_methods(false).select {|name| name =~ /^o/ }
p String.public_instance_methods.select {|name| name =~ /^o/ }
["oct"]
["oct", "one?", "object_id"]     (Ruby 1.8の場合)
[:oct, :ord]
[:oct, :ord, :object_id]         (Ruby 1.9の場合)

関連項目