もしかして拡張子隠してない?

http://ruby.g.hatena.ne.jp/BeAr/20080507/1210090090

  C:\src>ruby read_text.rb ChangeLog
  read_text.rb:2:in `initialize': No such file or directory - ChangeLog (Errno::ENOENT)
  from read_text.rb:2
ブログをいじる時に他にエラーになりそうな事って。。。拡張子!!

  C:\src>ruby read_text.rb ChangeLog.txt

できた!すごいぞ俺。問題解決できたぞ*1ちなみにエラーメッセージの意味わかりません。

拡張子に気付かなかったということは、もしやWindowsの設定で「拡張子を隠す」になっていたりして?拡張子も含んでファイル名だから、Rubyするときは拡張子も意識してね。他のWindowsアプリみたいに拡張子を取り除いたファイル名を指定してもRubyが空気を読んでくれるわけではない。

エラーメッセージ「No such file or directory - ChangeLog (Errno::ENOENT)」は字面の如く「ChangeLogというファイルかディレクトリ(フォルダ)がないぜ」という意味だ。「read_text.rb:2:in `initialize': 」はread_text.rbの2行目のinitializeメソッドにてという意味。

追記

昔のWindowsには悪名高い設定としてエクスプローラの「ファイル名の拡張子を隠す」という設定があった。それを利用してウィルスとか仕込まれてた。
俺は10年以上Windows使ってないからわからんけど、最近のWindowsにはその設定なくなったのかな。