Rubyのrequireにディレクトリ名が必要な理由 - ’(rubikitch wanna be (a . lisper))
Rubyのrequireのパス - IMHO Cだと、ソースがどこにあっても #include "hoge.h" とやればそのファイル自身のパスも含めて探してくれるので便利なんだけどRubyの場合含めて くれないので、あるライブラリ的なソースから別のライブラリを参照するときにその置き場所 に困る。例えばソースが ・ main.rb ・ lib/lib1.rb ・ lib/lib2.rb とあって main.rbからlib1.rbがrequireされてて、lib1.rbからlib2.rb...
http://d.hatena.ne.jp/rubikitch/20080526/1211778879
「$:.unshift(File.dirname(__FILE__))」がミソですね。現在のRubyスクリプトのディレクトリをロードパスの先頭に加えるという決まり文句で、Cプリプロセッサの「#include "〜"」相当
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/rubikitch/20080526/1211778879