From: "K.Kosako" Date: 2002-06-12T19:37:10+09:00 Subject: [ruby-dev:17404] Re: blocks and local variables Yukihiro Matsumotoさんの <1023430878.730380.27272.nullmailer@picachu.netlab.jp>から > * ブロック内ローカル変数については、ブロックパラメータの指 > 定を借りて > > > > という「宣言」によって指定するか(宣言型)、あるいは、特別 > の代入演算子(たとえば「:=」)によってその代入された変数は > 以後ブロックローカルになるか、のような方法で実現したい。 > 重複していたら警告するかどうかは未定。 <...>を使用した場合には、パラメタだけでなくブロック内で使用している 全てのローカル変数が、デフォルトでブロックローカルになるというのでは どうでしょうか。 <...; a,b>で明示的に宣言した変数(a,b)だけがブロックローカルでなくなる。 とにかく外側と名前が衝突したくないだけなら、 <...>を使うだけで他の宣言は不要なので。 パラメタが0個のとき少し煩わしいですが。 foo { <> a = ... } |...|については、現状と同じ仕様。 -- 小迫@ソフネック 渋谷区恵比寿1-15-1