Archive for 9月, 2011

9月 21 2011

Tweets on 2011-09-21

Published by under タグ:

  • 昨日一日長女とのんびり過ごせたことで、お互いに貯まってた何かが払拭出来た気がする。再び素直に可愛く思えるようになった自分の精神的作用が一番大きい。いい休日だったな、うん。 #

No responses yet

9月 05 2011

__FILE__と$0

Published by under タグ:

こんな風に使える。

puts “filename: #{__FILE__}

似たようなのに $0 がある。
しかし $0 と __FILE__ は似て非なるもの。
__FILE__ が実行中のプログラムのファイル名を表すのに対し、
$0 は実行するときに指定したプログラムのファイル名を表す。

> ruby hoge.rb

のように実行するプログラムが1つの場合は、__FILE__ と $0 の値は一致する。
しかし、別のプログラムから require したときは、__FILE__ と $0 は一致しない。

この特徴を利用して、__FILE__ と $0 はライブラリのサンプルコードによく利用される。
例えば以下のようにして書けば、ライブラリとして利用されるとき(require されて使われるとき)は
サンプルコードの部分は実行されない。

if __FILE__ == $0
# サンプルコード
end

No responses yet