はじめまして、丹野@筑波大です。 これまでは perl 一辺倒だったのですが、ruby 本が出たのを期にと ruby でちょこちょこ遊んでいます。 いきなり質問で恐縮なのですが、Cygwin 版 ruby (version 1.4.3) の File#read の挙動で悩んでいます。 以下のようなスクリプトを FreeBSD 上で走らせると % cat test.rb f = File::open($0) p f.stat.size p f.read.size f.close f = File::open('somefile.bin') p f.stat.size p f.read.size f.close % ruby --version ruby 1.4.0 (1999-08-13) [i386-freebsd3.3] ( <- ちと古いですが ) % ruby test.rb 132 132 395063 395063 と、望んでいた結果が得られるのですが、これを Cygwin 版の ruby で実行すると、 >ruby.exe --version ruby 1.4.3 (1999-12-08) [i386-cygwin] >ruby.exe test.rb 132 123 395063 2064 と、read で読みだされるバイト数が実際のものよりも少なくなってしまいます。 Cygwin 版の ruby で File#read を用いて全てのデータを読み出すには、なにか 特別な指定などが必要なのでしょうか? #FAQ でしたらすみません。Webのチェックと過去メールの検索はやって #みたのですが、探し方が甘いと言われたら申し訳ないです。 --- Hajime Tanno / Computer Networks Lab., Univ. of Tsukuba