[#2810] [BUG] IO#eof? when Thread using — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

31 messages 1998/06/08
[#2826] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2827] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2828] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2829] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2831] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2841] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2842] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2843] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2845] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2846] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2847] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2848] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2849] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2854] experimental release 1.1b9_25 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/06/11
[#2870] Re: experimental release 1.1b9_25 — Takahiro Maebashi <maebashi@...> 1998/06/15

前橋です。

[#2911] experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1998/06/18
[#2912] Re: experimental release 1.1b9_26 — WATANABE Hirofumi <watanabe@...> 1998/06/18

わたなべです.

[#2913] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2916] Re: experimental release 1.1b9_26 — Takahiro Maebashi <maebashi@...> 1998/06/18

前橋です。

[#2917] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2940] experimental release 1.1b9_27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 1998/06/19

[#2965] feature freeze for 1.1c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/06/22

[#3056] experimental release 1.1b9_28 — matz@... (Yukihiro Matsumoto)

subject says all.

28 messages 1998/06/26
[#3104] Re: experimental release 1.1b9_28 — Takahiro Maebashi <maebashi@...> 1998/06/30

前橋です。

[#3086] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro)

ごとけんです

19 messages 1998/06/29
[#3120] Re: Enumerable#reverse ([ruby-list:8579]) — keiju@... (Keiju ISHITSUKA) 1998/06/30

けいじゅ@日本ラショナルソフトウェアです.

[#3130] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro) 1998/06/30

ごとけんです

[#3146] [REQ] trace_func — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 1998/06/30
[#3190] Re: [REQ] trace_func — matz@... (Yukihiro Matsumoto) 1998/07/02

まつもと ゆきひろです

[#3807] Re: [REQ] trace_func — keiju@... (石塚圭樹 ) 1998/12/14

けいじゅ@日本ラショナルソフトウェアです.

[ruby-dev:2869] Re: [BUG] IO#eof? when Thread using

From: keiju@... (石塚圭樹 )
Date: 1998-06-15 04:34:19 UTC
List: ruby-dev #2869
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :2861 ] the message: "[ruby-dev:2861] Re: [BUG] IO#eof? 
when Thread using ", on Jun/12 12:08(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|read(2)について調べたところ, non block io時以外ではreturn値が0になるの
>|は, EOFのときだけ見たいです. block io時は必ずblockするとなっています. 
>|
>|ということで, freadも, EOFが来る以外ではsize分読み込むようになっていな
>|いのかしら?
>
>EOF以外で0を返すことはないと思いますが,lenより短い長さを返
>すことはあると思いますよ.man freadすればわかりますが.

こっちのマニュアル(同じものと思いますが)では, 

   If an error occurs, or the end-of-file is reached, the return
       value is a short item count (or zero).

となっていますので, lenより身近いときは, errorかEOFですので, その時は,

       fread does not distinguish between end-of-file and  error,
       and  callers  must  use feof(3) and ferror(3) to determine
       which occurred.

をやって下されば, まさに望んでいるものになりそうです.


>|# それは, stdioがnon blocking ioに対応している場合ですね. 実際はどうな
>|# んだろう?
>ええ,stdio次第だと思います.もっともsysread/syswriteを使え
>ば関係ないですが.

まあ, それもいえますね.

>|readline/readcharに相当する IO#readが欲しいですね. で, そのメソッドは
>|サイズ分を読み込む前にEOFが来たら例外を出すというのはどうでしょう?
>
>そのメソッドはサイズ分を読み込む(か例外を返す)ことを保証する
>わけですね.では,以下のことを検討する必要がありますね.
>
>  * 現在のreadの仕様を使えばrubyで簡単に定義できるが,わざわ
>    ざ組み込みメソッドにする必要があるか

1.
  getc/readchar
  gets/readline

の対象性からあった方が良い.

2. read(n)の時に毎回サイズをチェックしなければ, 正しいプログラムになら
   ないのはめんどくさいことが多い.

   *私なら*ですが, readよりも新readを絶対使いますね.

3. 問題点

readlineと新readって若干動作が違うんですね. readlineは読み込中にEOFが
来るとそれまで読んでいたものを返しますが, 新readはそのサイズに満たなけ
れば, 例外ですので...

でも, 両方の使い方からいって, 総方ともそうなっている方が良いとは思いま
すが...

>  * もし,必要があったとして,名前をどうするか

ここが迷うところですね. 

  read/readn
  read/readchars
  read/readstring
  read/reads
  read/readlength
  read/readnlength

ぐらいかなあ... あと, 互換性を無視すれば, 今のreadを

  getn

にして, 例外版を read にするというのも考えられますが... こっちの方が, 
他の命名規則とあってはいますが...

  getn/read

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread