メソッド名の一覧

http://d.hatena.ne.jp/tokuhirom/20070727/1185553138

より一般化するとこんな感じっすかね。

perl -MUNIVERSAL::require -e'$t=shift;$t->require;die join " ",grep{defined&{"${t}::$_"}}keys%{"${t}::"}' モジュール名

ただ、これで親クラスから継承しているメソッドも含めて取れると誤解する人が居るかもしれないので補足。

これで取れるのはそのクラスで直接定義されているメソッドだけで、親クラス(@ISA)で定義されているメソッドは取れない。継承しているものも含め全部取るなら@ISAを再帰的にたどってそれぞれ調べていかなければならないのでけっこう面倒。やっぱClass::Inspector使うのが楽ですね。

perl -MUNIVERSAL::require -MClass::Inspector -e'$t=shift;$t->require;die "@{Class::Inspector->methods($t)}"' モジュール名

ちなみに最初のとほぼ等価なのは Class::Inspector->functions($t) でOK。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: メソッド名の一覧

このブログ記事に対するトラックバックURL: http://www.fs-output.com/rintaro/mt/mt-tb.cgi/21

コメントする

(初めてコメントする場合、承認されるまではコメントが表示されない場合があります。)

このブログ記事について

このページは、Rintaroが2007年7月30日 03:40に書いたブログ記事です。

ひとつ前のブログ記事は「Perlモジュールは__PACKAGE__を返すべきだ!」です。

次のブログ記事は「理系だとか文系だとかじゃない何か」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0rc4