2012-10-10
■[Ruby]ライブラリ中にテストコードを書く"if __FILE__ == $0"
自分で書いたライブラリを簡単にテストしたいなぁと思った時に使える方法です。
if __FILE__ == $0 #テストコード end
ライブラリ中にこのように記載した箇所は、直接実行した場合には呼ばれるが、requireした時にはよばれません。
覚えておくと便利かもしれません。
requireしたとき処理されず直接実行した時だけ処理される仕組みは、__FILE__と$0の意味が違うことを利用しています。
- __FILE__:書いてあるスクリプト名
- $0($PROGRAM_NAME):実行スクリプト名
Javaとかでライブラリ中のmain()だったり、Pythonでも"if __name__ == '__main__':"という書き方がちょうど同じものになります。
トラックバック - http://d.hatena.ne.jp/shingo-zukunashi/20121010/1349868645
リンク元
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDYQFjAB&url=http://d.hatena.ne.jp/shingo-zukunashi/20120816/1345123804&ei=0WJ1UMSDEu_JmAWq3IHADQ&usg=AFQjCNFwjYx0QcUEqTcCrwJzJ6NmjS3Y6w
- 1 http://cgi.search.biglobe.ne.jp/cgi-bin/search?q=swing+importData&ie=utf8&num=10&start=0
- 1 http://k.hatena.ne.jp/keywordblog/Ruby
- 1 http://reader.livedoor.com/reader/
- 1 http://search.fenrir-inc.com/?q=ECLIPSE+4.2+swt.jar&hl=ja&safe=off&lr=ja&channel=sleipnir_3_w&start=10
- 1 http://search.minakoe.jp/rsss/rsss.asp?pgsz=100&qry=java¬wit=1&twit=0&debug=1&multi=1
- 1 http://search.minakoe.jp/rsss/rsss.asp?qry=java&multi=1
- 1 http://search.yahoo.co.jp/search?p=java+JFrame+画像表示+JPanel&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=RMagick&source=web&cd=29&ved=0CHUQFjAIOBQ&url=http://d.hatena.ne.jp/shingo-zukunashi/20120707/1341679877&ei=OW11UNaTJe7umAXMmYCQDA&usg=AFQjCNFOKTrLbQ_4voHKpK7WwimYjPaFnw
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=jruby+thread+start&source=web&cd=5&ved=0CEYQFjAE&url=http://d.hatena.ne.jp/shingo-zukunashi/20120728/1343487986&ei=CqJ2UKCtH-qKmwWu74GwCw&usg=AFQjCNEIbkXHjVtq9H6bdcSkqbcoihPTeg