From: "NAKAMURA, Hiroshi" Date: 2004-03-28T23:36:39+09:00 Subject: [ruby-dev:23253] Re: [ruby-cvs] ruby, ruby/lib, ruby/lib/rss, ruby/sample/openssl: * lib/logger.rb: trim tail space of each line. no user visible change. なひです。 > From: "Yukihiro Matsumoto" > Sent: Sunday, March 28, 2004 5:44 PM > |> 変更された新しいスーパークラスがDuck Type的に適合するクラス > |> であれば、エラーになるべきとはいえないと思います。 > | > |同感です。 > | > |で、問題は、Duck Type的に適合するクラスかどうかのチェックが、 > |現状、動かしてみるしか、ランタイムにしかできないこと、 > |また障害時のメッセージがわかりにくくなりがちなことですかね。 > |もしDuck Type的に適合しないのであれば、"強い"クラスとしては、 > |早めに、わかりやすいところでエラーになって欲しい。 > > 気持ちは分からないでもないですが、Rubyの他のところが「動かし > てみるしか、ランタイムにしかできない」上、「障害時のメッセー > ジがわかりにくくなりがち」なので、ここだけ直すというのではな > く、統一的な何かを模索するべきなのかもしれません。 そうですね。やるのなら、他の部分まで含めて統一的にサポートすべき 項目のような感じがします(よく考えてないので、今のところ、どこまで 含めるかについて意見がありません)。 念のため元の話としては、だからRubyのどこを直そう、というのではなく、 なひは防衛的に省略するコーディングを心がけるようにしている、 そういう"強い"のが好み、という意図でした。 class Foo < Bar; end; class Foo < Baz; endは、現行でwarningに なってくれるので。 > もっとも、それがどんなものになるのかということは私自身にも分 > からないのですが。 > > |例のRCR、Duck Type的インタフェイスの宣言をサポートするヤツが > |あれば、少し気が楽になるかな? > > え、そんなRCR出てましたっけ。私のスライドでチラと触れた覚え > はありますが、全然具体的じゃないですし。 えー、ハズしてたら申し訳ないのですが、[ruby-talk:85912]、RCR168、 http://www.rubygarden.org/ruby?InterfaceContracts あたりを考えていました。関連するruby-talkでの議論は長大かつ アツかったので、なひはあちこち読み落としている可能性が高いですが、 これって結局どうなったんでしたっけ?