[#25430] 1.8 warn nonblocking IO#read and add IO#readpartial — Tanaka Akira <akr@...17n.org>

1.8 に以下の変更を行いたいんですが、どうでしょうか?

29 messages 2005/01/08
[#25445] Re: 1.8 warn nonblocking IO#read and add IO#readpartial — Tanaka Akira <akr@...17n.org> 2005/01/09

In article <20050109063005.3048a4ba.tommy@tmtm.org>,

[#25479] some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

44 messages 2005/01/15
[#25488] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/22

永井@知能.九工大です.

[#25489] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/22

山本です。

[#25490] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/22

永井@知能.九工大です.

[#25517] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/25

山本です。

[#25519] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/25

永井@知能.九工大です.

[#25521] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/25

山本です。

[#25523] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/25

永井@知能.九工大です.

[#25530] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/25

山本です。

[#25537] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/26

永井@知能.九工大です.

[#25545] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/26

永井@知能.九工大です.

[#25546] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/26

山本です。

[#25547] Re: some problems on ext/tk/sample/**/*.rb — "U.Nakamura" <usa@...> 2005/01/26

こんにちは、なかむら(う)です。

[#25548] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/26

山本です。

[#25550] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/26

永井@知能.九工大です.

[#25553] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/26

山本です。

[#25556] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/26

永井@知能.九工大です.

[#25567] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/27

永井@知能.九工大です.

[#25569] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/01/27

山本です。

[#25578] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/28

永井@知能.九工大です.

[#25585] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/28

永井@知能.九工大です.

[#25605] Re: some problems on ext/tk/sample/**/*.rb — Hidetoshi NAGAI <nagai@...> 2005/01/31

永井@知能.九工大です.

[#25609] Re: some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/02/01

山本です。

[#25500] priority between commandline option and RUBYOPT env variable — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

13 messages 2005/01/25

[#25522] merge tcltklib and tk — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

32 messages 2005/01/25
[#25552] Re: merge tcltklib and tk — nobu@... 2005/01/26

なかだです。

[#25555] Re: merge tcltklib and tk — Hidetoshi NAGAI <nagai@...> 2005/01/26

永井@知能.九工大です.

[#25557] Re: merge tcltklib and tk — nobu@... 2005/01/26

なかだです。

[#25561] Re: merge tcltklib and tk — Hidetoshi NAGAI <nagai@...> 2005/01/27

永井@知能.九工大です.

[#25566] Re: merge tcltklib and tk — Hidetoshi NAGAI <nagai@...> 2005/01/27

永井@知能.九工大です.

[#25590] Can I copy doc/irb/irb.rd.ja to the reference Wiki? — sheepman <sheepman@...>

こんばんは、sheepman です。

16 messages 2005/01/29
[#25591] Re: Can I copy doc/irb/irb.rd.ja to the reference Wiki? — keiju@... (石塚圭樹) 2005/01/29

けいじゅ@いしつかです.

[#25592] irb history saving feature is not in ruby 1.8 — sheepman <sheepman@...> 2005/01/30

こんにちは、sheepman です。

[#25593] Re: irb history saving feature is not in ruby 1.8 — keiju@... (石塚圭樹) 2005/01/30

けいじゅ@いしつかです.

[#25594] Re: irb history saving feature is not in ruby 1.8 — sheepman <sheepman@...> 2005/01/30

こんにちは、sheepman です。

[#25595] Re: irb history saving feature is not in ruby 1.8 — keiju@... (石塚圭樹) 2005/01/30

けいじゅ@いしつかです.

[ruby-dev:25469] Re: 1.8 warn nonblocking IO#read and add IO#readpartial

From: 角 元司 <mtj@...>
Date: 2005-01-12 20:08:38 UTC
List: ruby-dev #25469
角です。

#とみたさんとはちょっと方向性が違うようです。
#私には警告メッセージを減らしてほしい以外の意見はありません。


On Mon, 10 Jan 2005 00:41:34 +0900
Tanaka Akira <akr@m17n.org> wrote:
> 興味深いです。具体的にはどの警告が大量に表示されますか?

たいしたこともないのですが、
私が以前にひっかかったのはArray#indexesでした。

------------------------------------------------------

a = (1..1000).to_a          # なにかのデータ

(a.length-1).times { |i|
  n = a.indexes(i, i + 1)   # 2つずつ要素を取得する

  ...何かの処理...

}

------------------------------------------------------

のようなコードで、indexesの呼び出しのたびに

    warning: Array#indexes is deprecated; use Array#values_at

という警告が表示されたために、コンソールが警告で
埋まってしまいました。

Array#indexesが廃止ではなく警告にとどまったのは、本来
values_atへの移行のための猶予期間を与えるためだと思いますので、
警告を避けるためにすぐに修正しなければならなかったのは、
ちょっと納得いかない気がしました。

IO#readの場合ですと、例えばselectと組み合わせてシングルスレッドの
サーバを構築していた場合に、データを受信するたびにログファイルに
警告が書き込まれてしまう、といったケースが考えられそうな気がします。
(STDERRをログファイルにリダイレクトしているとして)


> 指摘しておくと、C レベルでは rb_warn と rb_warning の 2種類があります。
> 前者がデフォルト状態でも表示されるもので、後者が -w をつけないと表示さ
> れないものです。

オプションなしでは表示されない警告もあるのはうすうす承知していました。


> ただ、使い分けがはっきりしていないとは思うので、そういう使い分けの主張
> は有用だと思います。そして、判断基準がもっと具体的になると受け入れられ
> やすいと思います。思うに、開発者は自分が開発している所が重要だと考えが
> ちで、警告を出しすぎるきらいがあるのかもしれません。

えー、判断基準としては、

(1) -wなしでは、警告は原則として表示しない。
(2) -wなしで表示されるのは、直ちに対策が必要な問題で、
    なんらかの理由でエラーにできないもの。

が私の希望になるでしょうか。要するに、警告メッセージは
放置できない場合が多いので、「放置してはいけない問題」にのみ
使用してほしいという考えです。
#希望だけですみません。

-wが指定されたときに警告が表示されるぶんには全然かまわないと思います。
デフォルトで警告があまり表示されないようになれば、-wを使う人も
増えるのではないかと想像しています。現状ですと、デフォルトで
かなりの警告が出ますので……。


> そんなに簡単でしょうか?
> 今回の変化は、nonblocking IO に対する read が問題となります。ある read
> が IO に対するメソッド呼び出しであり、その IO が nonblocking mode であ
> るかどうかはどう判定できるでしょうか?

うむむ。もちろん、grepで表示された行だけでは無理です。
前後も見ないといけないと思います。

non-blockingなreadとblockingなreadでは使い方がだいぶ異なりますので、
見ればなんとなくわかるのではないかと思うのですが。


> もちろん、警告がドキュメントよりも常に確実だと主張しているわけではあり
> ません。しかし、警告は問題点を確認するのにドキュメントよりも便利なこと
> があると考えています。ドキュメントはある項目があるプログラムに実際に適
> 用されるのかどうかを調べるには、自分で確認しなければいけないのに対し、
> 警告は単に実行しさえすればわかるためです。

もちろん警告にしかないメリットがあるのはよくわかります。
ドキュメントと違った形で役立つという点に異存はないです。

ただ、ドキュメントと違って、表示されること自体が困る場合が
あるということを言いたかったのでした。


> それはありがたいです。今回の変更をリリース時につけるドキュメントに忘れ
> ずに載せることをお願いできますか。

1.9がリリースされるときのお話ですよね?
なるべくフォローしたいと思います。


-- 
角 元司 <mtj@fiberbit.net>


In This Thread