From: MAEDA Shugo Date: 1998-06-25T21:48:22+09:00 Subject: [ruby-list:8514] Re: scope of local variables 前田です。 >|イテレータブロックの引数も、ローカル変数なんですよね。 > >というか,代入の左辺だと思って下さい.ここには大域変数,イン >スタンス変数をはじめとして,左辺値として代入できるものならな >んでも置けます(定数は置けませんが). class Foo attr_accessor :foo end f = Foo.new ["foo"].each { |f.foo| } p f.foo なんてのもOKなんですね。 よく考えたら多重代入なのだから当然なのですが...。 >|独白: >| もしもイテレータブロックの引数はイテレータブロック内で新たに定義された >| ローカル変数である、、という言語仕様にしたら他に悪影響が有るのかな? > >いろいろあるでしょうね.もし変更するのでも十分な議論の上でな >いと.そーゆー話を本気でするならruby-devに移動しますが. その方がバグが少なくなると思うのですが、今のモデルだとローカル変数の 場合だけ挙動が違うのは不自然な感じもしますね。 -- 前田 修吾