From: Shin Nishiyama Date: 2002-06-18T13:12:24+09:00 Subject: [ruby-dev:17506] Re: blocks and local variables 中田さん >それは考えたのですが([ruby-dev:17332])、[ruby-dev:17338]という >問題があります。 まつもとさん >同じアイディアはすでに提案されていますが、ネストの問題がある >ので、ブロックローカルであることがわかったとしてもかならずし >もうれしくないかも、という点で決定打になっていません。 すみません。以前の発言をチェックしたつもりでしたけどもれてました。 ネストの問題に関しては、少し強引ですが、こういうのはダメでしょうか? とりあえず提案してみます。要するに、名前が重ならないように規制して しまうという方法です。 1.'_'で始まる変数はブロック外で使用できない。これにより、_で始まる 変数がブロックローカルであることが保障される。 2.ブロック内では、ネストしたブロック内でない限り'__'(アンダスコアふたつ)で 始まる変数は使用できない。これにより、'__'がネストしたブロックでローカル であることが保障される。ネストしたブロックからは外側のブロックのローカル 変数へは_付き変数名で通常にアクセス。 3.以下ネストが深くなると_の個数を増やして同様。 ---------------------------------------------- 西山 伸 shin@xtal.tf.chiba-u.ac.jp ----------------------------------------------