From: matz@... (Yukihiro Matsumoto) Date: 2002-06-17T08:29:26+09:00 Subject: [ruby-dev:17472] Re: blocks and local variables まつもと ゆきひろです In message "[ruby-dev:17459] Re: blocks and local variables" on 02/06/16, NISHIO Mizuho writes: |すでにruby-list, ruby-devでブロックパラメーターの局所化 |の要望は何回か出ているので、これに関しては同意が得られていると思っています。 まあ、そうですね。 |問題は上記の要望を満たすための変更方法です。 |その方法を大まかに分けると、 | |○ 互換性を無視する方法 |○ 互換性を維持するような方法 | |の二つが出ています。最近の議論を読む限りでは |過去にまつもとさんが互換性を必須としたい意見を出している(?)ために |バイアスがかかって、前者に関する議論がほとんどされていない気がします。 バイアスがかかっているのは事実です。ただ、「互換性を無視する 方法」とひとことにいっても、それぞれの頭の中にある具体的な挙 動は定義されていませんし、たとえば[ruby-dev:17469]のような、 「パラメータがローカル変数であれば..」という挙動はルールがよ り複雑になるのであまり望ましいとは思いません。 |私の予想ですが、まつもとさんが互換性を重視したのは |互換性を無視することでどの程度の影響があるか |見積もることができなかったからではないでしょうか? それもありますが、 ブロックパラメータの使われ方には、ループ変数としての使われ方 と、クロージャの引数としての使われ方があり、それぞれ独立して いるので、別々の記法を用意した方が良い と思ったことが大きいです。互換性の見積もりは「互換性を無視す る方法」に対する減点が少なくなる効果はあっても、採用にプラス になるにはそれだけでは足りない気がします。 |私と立石さんはブロックパラメーターの重なりが |ほとんどないと見積もっていますので、 |もう一度互換性を無視した方法に関して議論してほしいと思います。 もちろん議論は自由にしていただいて構いません。まだ強権を発揮 するつもりはありませんから。 まつもと ゆきひろ /:|)