From: Daisuke Aoki Date: 2002-12-30T19:09:25+09:00 Subject: [ruby-dev:19241] Re: CRLF (here document) 青木@横浜です。 WATANABE Hirofumi wrote: > 結局は [ruby-list:35005] と同根だと思います。 ん、私の投稿したものですね(^^) > なぜこうしないかというと、 > 1. undefするとIO#readが遅くなる(2倍ぐらい違う) > 2. Cygwinのdefaultはbinary mountであり、もはやtext mountは > あまり使われていない(かなり独断) > という点からです。 > ま、要するに遅くなるのがいやだなっと言ったところです。 なるほど。Cygwin の setup.exe で Default Text File Type は UNIX に すべしということなんですね。 binary mount の場合、スクリプトファイルの改行コードが CRLF でも 大体問題が出なくなることを確認しました。 でも、 __END__\r\n は __END__ として認識してくれません。 undefined local variable or method `__END__' for # (NameError) になります。eval() でも同様になるので、すべてのプラットホームでエラーになると 思います。 ruby 1.7.2 (2002-05-16) [i386-freebsd4.5] では大丈夫だったのですが、スクリプトの改行コードが CRLF なものは サポートしなくなったのでしょうか。 # 手持ちの Cygwin Ruby を __DJGPP__ みたくするか、Cygwin を # binary mount にするか悩むところです。 # Windows は Win32API レベルではテキストモードないし(そんで、 # EDIT コントロールとか CRLF 要求するし)、binary mount にするべきなのかな。 -- 青木大輔