In article <200204150445.NAA25452 / mailrelay.jaist.ac.jp>, Takaaki Tateishi <ttate / kt.jaist.ac.jp> writes: > 変数のスコープだけを明示的に作ることができるので,意図しない他の変数 > との衝突を心配したり,不必要に変数名を変える必要がなくなります. 想像するに、たぶん今回の話を出すきっかけになった事例があるのではないか と思うんですが、そういう具体的な話を出した方が説得力を出せると思います。 ちなみに、私はスコープのネストは大好きです。特に Scheme のプログラムを CPS (Continuation Passing Style) で書く時は大量に使います。これはある 対象が概念上はひとつなのにプログラムでは(純関数的に書くと各時点毎の状 態で別々のデータになるので)複数にわかれてしまうときに、概念上の対象に 対してひとつの名前をつけたいからです。 というように名前が重要だという相手の論旨を全面的に認めつつ、周辺の条件 (この場合は名前をつける対象)を調整して自分の要求に合わせてしまう、とい うのも効果的、かもしれません。 まぁ、それはともかく、最近の(lexical scope な)関数型言語になれてる人に とって Ruby のスコープに違和感を感じるというのは確かだと思います。少な くとも私はそうです。その違和感がより良いものに出会ったためなのか、より 悪いものに出会っためなのかを判断し、根拠をつけて説明するのはなかなか難 しいわけですが。個人的にはより悪いものに出会ったためだと思っていますけ ど。 -- [田中 哲][たなか あきら][Tanaka Akira] 「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)