# main 関数 if __FILE__ == $0 #メインプログラム end
__FILE__変数には実行中のファイル名が入っている。また、$0はRubyインタープリタに引き渡したファイル名が入っている。すなわち、
ruby test.rb
としてスクリプトを実行した場合は、__FILE__にも、$0にも"test.rb"が入力されているため上記の条件式は真になるため、メインプログラムは実行される。
しかし、requireで読み込まれた場合は、この条件式が偽になるため実行されない。
Rubyプログラムを書く際には単体で使う、使わないに関わらず、おまじない的に書いておくといいかもしれない。