Rubyで50行くらいの小物スクリプトを作る
→気がついたら色々増えてメソッドに分割する(だいたい100行)
→気がついたら色々増えてファイルに分割する(だいたい300行)
→ところでこれ、どこがトリガーになってるの?
みたいな事が稀によくある。
そういう時にmain
が欲しくなる事がある。
Goとかにあるアレ。
やり方はあまり難しくなく、以下のような感じにすると良い。
hoge.rb
def main
# あれとかこれとか
end
if __FILE__ == $0
main
end
このファイルをruby hoge.rb
のように実行すると、main
内の処理が実行される。
ちなみに、__FILE__
は自身のファイルを指し、$0
は実行されたファイルを指す。
要するに「呼び出されたファイルが自分の時に実行してね」という事。