From: matz@... (Yukihiro Matsumoto) Date: 2002-06-18T13:36:21+09:00 Subject: [ruby-dev:17508] Re: blocks and local variables まつもと ゆきひろです In message "[ruby-dev:17506] Re: blocks and local variables" on 02/06/18, Shin Nishiyama writes: |ネストの問題に関しては、少し強引ですが、こういうのはダメでしょうか? |とりあえず提案してみます。要するに、名前が重ならないように規制して |しまうという方法です。 | |1.'_'で始まる変数はブロック外で使用できない。これにより、_で始まる | 変数がブロックローカルであることが保障される。 |2.ブロック内では、ネストしたブロック内でない限り'__'(アンダスコアふたつ)で | 始まる変数は使用できない。これにより、'__'がネストしたブロックでローカル | であることが保障される。ネストしたブロックからは外側のブロックのローカル | 変数へは_付き変数名で通常にアクセス。 |3.以下ネストが深くなると_の個数を増やして同様。 これはこれで完結してると思うんですけど、ネストのレベルを数で 対応するのはあんまり良くないんではないかと思います。数えなく ちゃいけないし、プログラムの修正でネストのレベルが変わっちゃっ たときの対応コストが増大しそうで。