__FILE__ eq $0
「どう書く」の弾さんの投稿を読んでたら、たまに

if (__FILE__ eq $0){
# ...
}
ってコードが出てきて、どういう意味か分からずに気になっていたんだけど、「Programming Ruby」(なぜかRuby(笑))に答えが書いてあった。

 ユーザによって直接起動されたファイル内に存在する場合にだけコードを実行する時に、__FILE__定数と$0変数を組み合わせて使う事がよくあります。(中略)このようにすると、テストコードは、ライブラリのソースが直接起動された場合にだけ実行され、他のプログラム内で require されている場合は実行されません。

# ライブラリのコード
# ・・・
if __FILE__ == $0
# テスト...
end

「プログラミングRuby 第2版 言語編」p.292

だ、そうです。試してみたら、確かに Perl でもそういう動作だった。

というか、ググってみたらすぐに答えが見つかるしw。不覚・・・。
[PR]
by fkmn | 2007-12-09 23:55 | IT
<< 「罪と罰」亀山郁夫訳 「WEB+DB PRESS T... >>


とあるWebアプリケーションエンジニアの日記
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
プログラミングが「出来る..
from とりあえず9JP?
Genographic ..
from ナンジャモンジャ
ジュセリーノ
from ありの出来事
くちこみブログ集(ライフ..
from くちこみブログ集(ライフ)(..
以降、丁寧語で行こう!
from エッセイ的な何か
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX