Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
[DMY] [VB] [VB6] [Python] [C#] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [CE] [LTSA]
[自動化] [Qt] [OCaml] [3Dプリンタ] [TOOLS] [RAA] [Forge]
  [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [EA] [マクロ]

2008-01-10

直接実行とクラスファイルとしてインクルードされる場合の切り分けイディオム

10:19 | 直接実行とクラスファイルとしてインクルードされる場合の切り分けイディオム - Rubyの魔神 を含むブックマーク はてなブックマーク - 直接実行とクラスファイルとしてインクルードされる場合の切り分けイディオム - Rubyの魔神 直接実行とクラスファイルとしてインクルードされる場合の切り分けイディオム - Rubyの魔神 のブックマークコメント

if $0 == __FILE__

何とか

end

というのはスクリプトが直接実行されたときに実行したいコードライブラリとして呼ばれたときは実行して欲しくないコード)を入れておくためのイディオムです。

setup.rbを読む - Code Reading Wiki

以前どこかでみて探してた。

$0:実行中のファイル

__FILE__ :自分自身のファイル

なので、if $0 == __FILE__ が成立しているときは自分自身が実行されている

不成立の時は、他のスクリプトからインクルードして使われている。

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080110