Perlモジュールは__PACKAGE__を返すべきだ!

Perlモジュールの慣例として、最後に 1; を書くというのがありますよね。 perldoc perlmodperldoc -f require にも書いてある由緒正しい慣例。

これは、require時に初期化が正常に実行されたことを示すためにtrue値を返さなければならないからだけど、 これを __PACKAGE__; (クラス名)にしようよ!っていう提案です。

なぜなら

use UNIVERSAL::require;
SomeClass->require->new();

って出来るから。

それだけです。それだけだけど、何の意味もない1を返すよりはマシじゃないっすか?

ってこんな誰も見てないブログで書いてもしょうがないけど ><

2007/07/30 23:45追記

あー、ごめんなさい。やっぱだめっす。 2度目以降のrequireではファイルで何を返そうとも、 単なる真値を返すだけですね。

$ perl -e'warn require Foo; warn require Foo;'
Foo at -e line 1.
1 at -e line 1.

そりゃそうだ。 恥エントリ。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: Perlモジュールは__PACKAGE__を返すべきだ!

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

コメントする

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

このブログ記事について

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

ひとつ前のブログ記事は「コンストラクタの遅延」です。

次のブログ記事は「メソッド名の一覧」です。

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

Powered by Movable Type 4.0rc4