0797デフォルトの名無しさん
2019/04/10(水) 08:45:30.83ID:ctVOU6iK# メイン処理
end
Ruby で、このイディオムを使う理由は、
$0 は、Ruby コマンドで指定したファイル名(メインファイル)。
「ruby a.rb」と実行した際の、a.rb で、これは変化しない
一方、__FILE__ は、現在評価中のファイル名。
require, load で、別のファイル(ライブラリ)を読み込んだ際、そのファイル名に変わる
これにより、そのファイルをテストする際に、
ライブラリ・メインファイルとして、機能を切り替えてテストできる
つまり、他のファイルから、ライブラリとして読み込まれた場合は、
「__FILE__ == $0」が偽になるので、if 〜 end で囲まれた部分は、実行されない