From: matz@... (Yukihiro Matsumoto) Date: 2003-03-10T23:11:28+09:00 Subject: [ruby-list:37266] Re: ruby 1.8でのCGI#[]の挙動 まつもと ゆきひろです In message "[ruby-list:37261] Re: ruby 1.8でのCGI#[]の挙動" on 03/03/10, 堀川 久 writes: |コンパイルが不要でエラーが実行時に発生する傾向にある分、古いスクリプト |が動かなくなる変更には慎重であってほしいです。 | |仕様を変更する場合は、原則として、新しいクラスを設けるか新しいメソッド |を設けることによって行った方がいいように思います。Net::HTTPのように、 |特定のメソッドを呼ぶと挙動が変わるというのも、勘弁してほしいです。 おっしゃることは分かります。機能拡張は基本的にその方針で良い と思うのですが、その方針だけでは「過去の間違った設計」を正す ことが永遠に不可能です。今回の件は(Net::HTTPも)そういう間違っ た設計に関することです。 |>救済できないケースについての情報が有れば追加の支援はできると |>思います。 | |少なくとも、empty? はあった方がいいと思います。if式で使われることがあ |ります。 | |data = cgi["foo"].first |if data | ... | |というようなコードが多い([].first => nilを予定している)のですが、こ |れを救うのは大変そうです。 empty?も追加しておきましょう。 存在しないエントリに対する処理は(nilが返ったときに対応できな いので)、無条件に対応することは難しいのではないかと思います。 まつもと ゆきひろ /:|)