From: Kazuhiro Yoshida Date: 2002-06-16T03:52:38+09:00 Subject: [ruby-dev:17456] Re: blocks and local variables もりきゅうです。 matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > 「これは確実」と思ったものでも、後でかなり文句が出ることが多 > いので、非互換な変更はそうとう抵抗があります。よっぽどうれし > いことがなければ、少々の欠点でも残すべきではないかと思ってい > ます。 うーん。 欠点と思うなら正しいと信じる方向へ修正すればいいのではないですか? Ruby は好きなように作った言語だが、すでに言語仕様を変更できない 規模で認知されてしまった、と考えておられるということでしょうか。 > 非互換な変更はそうとう抵抗があります。 というのも納得できません。 私的には「? 」で警告が出るほうが大きな変更です。 ブロックパラメータに関しては仕様変更に影響されるような書き方を していないけど、「? 」は使っているから。 ブロックパラメータに関しては、あえて狙って書かない限り、名前は 重ならないと思います。重なったとしても、実はローカルスコープの つもりで書いている(つまりバグ)ということも多いのでは。 Ruby Garden での投票 Local variables & blocks http://www.rubygarden.org/pollBooth.php?op=results&pollID=13 を見ると、ローカルスコープにしてほしい人も多いですし。 なぜ「? 」で警告を出すことには抵抗がないのでしょうか。 この警告は、将来「? 」をエラーにすることを示唆しているんですよね? ブロックパラメータの重なりについても警告を出せばいいのでは? 警告を出すのが難しいのであればドキュメントに明記すればいいのでは? ---- YOSHIDA Kazuhiro moriq@moriq.com http://www.moriq.com/