[#7300] resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...>

あんまり ruby-dev な話でも無いのですが、ちょっとした機能拡張の提案なので、

12 messages 1999/07/12
[#7321] Re: resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...> 1999/07/15

From: Toshihiko SHIMOKAWA / 下川俊彦 <toshi@csce.kyushu-u.ac.jp>

[#7313] Ruby 1.3.5 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.5 is out, check out:

59 messages 1999/07/15
[#7318] Re: Ruby 1.3.5 — WATANABE Hirofumi <watanabe@...> 1999/07/15

わたなべです.

[#7326] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/15

青山です。

[#7331] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/16

まつもと ゆきひろです

[#7340] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/16

青山です。

[#7368] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7373] Re: Ruby 1.3.5 — Shin-ichiro Hara <sinara@...> 1999/07/19

原です。

[#7374] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7382] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/19

青山です。

[#7386] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/21

まつもと ゆきひろです

[#7388] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/21

青山です。

[#7387] [PATCH]extconf.rb, tcltklib.c, and rubytest.rb for NetBSD — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp>

早坂@会津大学です。

10 messages 1999/07/21

[#7466] [PATCH] for djgpp — WATANABE Hirofumi <watanabe@...>

わたなべです.

21 messages 1999/07/29
[#7467] Re: [PATCH] for djgpp — Katsuyuki Komatsu <komatsu@...> 1999/07/29

小松です。

[ruby-dev:7408] Re: Ruby 1.3.5

From: Shin-ichiro Hara <sinara@...>
Date: 1999-07-23 03:23:27 UTC
List: ruby-dev #7408
原です。

In message "[ruby-dev:7402] Re: Ruby 1.3.5"
    on 99/07/23, Yukihiro Matsumoto <matz@netlab.co.jp> writes:
|
|まつもと ゆきひろです

|まあ、EOFとストリームポインタが末尾にあることを分離すること
|には私も賛成します。ということで、この件に関しては3人の意見
|の一致を見ましたね。きっと反対者も(そんなには)いないでしょう。

そうですね。

||  直前の1バイト以上の読み込みで読み込み終了になった場合 ture、
||  そうでないとき false。
||  直前に1バイト以上の読み込みをしてない場合は不定(か true)。

|正式に定義した方が良いとは思いますけどね。でも、私ならまず
|
|>  直前に1バイト以上の読み込みをしてない場合はfalse

あ、その通りです。「ture」というのは書き間違いです。

|とするでしょう。ですから、いきなりの eof? も問題なしです。

私がいきなりの eof? が問題だと言ったのは、(最初 false であることが)
ユーザーの直観と事なる場合があるからです。それからもう一つ、現行の
eof? も feof(3) も io の種類によっては入力待ちでブロックすることが
ありますよね?それもユーザーが理解していないといけない。必ず何バイ
トか読んでから eof? を使うのを作法にすべきかと。話がちょっとずれま
した。

|ただ、feof(3)に頼っちゃうとソケットとかで困る可能性もありま
|すよね。たぶん、10バイト読み込もうとして8バイトしか読み込め
|なかったら、それだけでfeof(3)がセットされちゃう可能性が考え
|られます。

そ、そんな可能性があるんですか。

||(1) "", ""
||(2) "", nil
||
||のどっちにするかですね。つまり
||
||(1a) read() は read(n) と全く違うものと思う
||(2a) read() は read(n) と類似と思う
||
||の違いです。私は (1a) を推しています。0バイトファイルに対して
||1回目の read() が "" であるのに read(0) は nil なので、read()
||と read(n) が類似とはいえないから、というのが一つの論拠です。
|
|うーん、論拠がご自分で導入した
|
||さて、read(0) の返り値についてですが、私は
||
||  io.read(0) は io の状態にかかわらず常に nil を返す
||
||を提案します。
|
|に依存しているのはやや苦しいですね。

その依存関係ははっきり意識しておりました。

|私はread()はread(n=∞)と解釈できるモデルの方が好みです。

実際、(1) を導入した場合、たまにユーザーがはまります。なにせ
read() と read(n) は同じ名前だから。その度に私が責任感じてど
うしてそうなのかを説明することになると思います。これはとても
良くない。故に、

  read()はread(n=∞)と解釈できるモデルに賛成します。

あとちょっとで結論がでそう。(^^;;;

In This Thread