From: Yukihiro Matsumoto Date: 2008-02-22T09:21:18+09:00 Subject: [ruby-dev:33896] Re: shadowing outer local variable まつもと ゆきひろです In message "Re: [ruby-dev:33891] shadowing outer local variable" on Fri, 22 Feb 2008 00:46:10 +0900, rubikitch@ruby-lang.org writes: |警告「shadowing outer local variable」はなくすべきだと思います。 ふむ。 |そもそも原因は1.8までのブロック引数の仕様がひどかったからです。 |警告を消すには1.8まで同様たとえ1文のブロックであっても |ブロック引数の名前を変更しないといけなくなります。 |これはかなりストレスがたまります。 |善し悪しは別として同じ変数名を使うのはLispやC言語でも普通に行われています。 えーと、「なくすべき」という主張は分かりましたが、その理由は よくわかりません。LispやCで行われているというのはあんまり理 由にならない気がしますし。 名称が重複しているのは悪いスタイルだと思いますから、それにつ いて警告されるのは当然ではないかと。それを止めるというからに は「それはそんなに悪いスタイルではない」とか「この警告はこん な不利益がある」とかいう論理でないと筋が通らないでしょう。 |むしろこの警告は1.8につけるべきです。 これもよくわかりません。1.9ではなくすべきで1.8では付けるべき というのはどういうことなんでしょうか。 まつもと ゆきひろ /:|)