hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

スクリプトファイルにmain関数を記述する(__FILE__変数)


スポンサーリンク


# main 関数
if __FILE__ == $0
  #メインプログラム
end

__FILE__変数には実行中のファイル名が入っている。また、$0はRubyインタープリタに引き渡したファイル名が入っている。すなわち、

ruby test.rb

としてスクリプトを実行した場合は、__FILE__にも、$0にも"test.rb"が入力されているため上記の条件式は真になるため、メインプログラムは実行される。
しかし、requireで読み込まれた場合は、この条件式が偽になるため実行されない。


Rubyプログラムを書く際には単体で使う、使わないに関わらず、おまじない的に書いておくといいかもしれない。