From: Tadayoshi Funaba Date: 1998-10-09T20:32:12+09:00 Subject: [ruby-list:9951] Re: read(nil) (Re: comments on manual) ふなばです。 >||それともう一つ考えられる仕様はですね。fh = open("foo") として >||foo が 0 バイトのファイルだった時に、 >| >|| fh.read は "" >|| >||であるべきではないかという気がするんですが、どうでしょう。 >| >|ふむむ.これも納得はできますね.そうしましょうか. > >その様に変えて困る人はほとんどいないのではないかと思うので、 >そうしてしまいましょう。 > >#今まで何度か data = fh.read || "" と書いたことがあります。 >#ruby プログラミングの経験豊富な私は。(^^; 経験豊富じゃないけど、僕も read || '' をよくつかってきました。初めのう ちは結構抵抗があったんだけど、もう慣れきっているんで、いざ変わるとなる と、これまた抵抗があるかな :-) 僕は大して大きなファイルをあつかうこともないので、一気読みを多用してい ます。大抵はチマチマ読んでるより速いし、書くのもラクなんでいいんですが、 ある程度大きくなると、つらくなりそうですよね。一体、どのあたりまで期待 してよいものやら、哲学がないので悩んでしまいます。悩まなくて済むように なるといいなあ。 僕はちょっと前に、試しに笠原さんの getoptlong.rb のサンプルにあった wc を read 一気読みに書き換えてみました。どうしてそういうことをしてみたか というと、自分でもお遊びで wc を書いたことがあったからです。笠原版 wc のほうが、ずっと本格的なんですが、速度を比べてみると、僕のほうが速いよ うだったので、調子に乗って笠原版に手を入れてみたのです。--lines の処理 が面倒そうだったので (--lines というのは初めてみました)、手を抜いて、 そこだけ仕様を変更してしまいました。でも、コードはとても簡単になって (簡単なのしか書けないし :-)、処理も速くなったようです。 いつもいつも、 こんなんで済めば、じつにありがたいと思う、怠け者のふなばなのでした。 手を入れてみたものはここに捨てておきます。 http://www.kt.rim.or.jp/~tadf/wc-k.rb 僕のおもちゃ wc はこっち。 http://www.kt.rim.or.jp/~tadf/ruby.html#wc --Tadayoshi Funaba