技術メモ帳 このページをアンテナに追加 RSSフィード

2006-05-24

[]Pythonでいうif __main__=='__main__'を実現 20:25 Pythonでいうif __main__=='__main__'を実現を含むブックマーク Pythonでいうif __main__=='__main__'を実現のブックマークコメント

かなり悩んだ末、会社に置いてあった RubyWay を読んだら、

小さくひっそりと書かれていた。感動。

if $0 == __FILE__

一応、どんなときに使うのかというと、

ライブラリとして、require されたときは実行したくなくて、

直接呼ばれたときだけは実行はさせたいときに使います。

# hoge.rb
class HogeMaker
    def method
    end
end

if $0 == __FILE__ then
    # 直接呼ばれたときのみ実行される
end

Java風に言うと、ライブラリのテストドライバみたいな。

そんな感じです。

こういうときだけ実行されます。

ruby ./hoge.rb

require 時は実行されません。

require 'hoge'