From: nobu.nakada@... Date: 2003-11-26T13:51:27+09:00 Subject: [ruby-dev:22056] Re: IO#read なかだです。 At Wed, 26 Nov 2003 08:05:37 +0900, Tanaka Akira wrote: > 上記のケースを考えると read が "" と nil のどちらを返すかはファイルポ > インタだけからは決まりません。ならばどういう仕様で決まるかというと、私 > は「EOF に到達したことユーザに伝えたかどうか」で決まると推定し、それと > 矛盾する > > % echo -n a > 1 > % ruby -e 'f = STDIN; p f.read(1); p f.read' < 1 > "a" > nil > > というケースにけちをつけたわけですが、実際の所どうなんでしょうねぇ。 ""によって「EOFに到達したことをユーザに伝え」る、という考え方で すか。 > >> というようにパイプだと nil にならないんですよねぇ。 > > > > lseek()がエラーになるかならないかの差のようですが、どっちかに合 > > わせたいですねぇ。 > > lseek() ねぇ。そんなのに依存しているという可能性もまったく思い浮かびま > せんでした。 > > きっとシステムコールの read が提供する情報 (に対応する stdio の情報) > と何らかのフラグだけから判断しているものだと想定していたのですが、い > やぁ、私の想像力を越えてますね。 いやたぶん、フラグから判断しているのだと思いますが、それが lseek()の結果にも影響されるんでしょう。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦