From: matz@... (Yukihiro Matsumoto) Date: 1999-04-21T12:37:21+09:00 Subject: [ruby-list:13976] Re: Message of Today in 1999/04/20. まつもと ゆきひろです In message "[ruby-list:13975] Re: Message of Today in 1999/04/20." on 99/04/21, "NAKAMURA, Hiroshi" writes: |これが | |> def foo |> var1 = nil | var2 = 0 # !!!追加!!! |> loop do |> var2 = 5 |> ... |> end |> defined? var1 #=> true |> defined? var2 #=> false |> loop do |> var2 = 20 |> ... |> end |> end | |だったりすると,全員同じスコープになるわけですもんね... そうです. |例えば今,この追加をしない状況で, |var2が同じ意味を表わすようになったとすると, その場合,ブロックはスコープを導入しないと思いますから, |fooの最初のloopを実行してる時: | var2のスコープはloopブロック | |2つめのloopを実行してる時: | var2のスコープはメソッドfoo | |なんてことになるんでしょうか... なんて問題は発生しないでしょう.スコープはいつもメソッドfoo になるでしょう.というか,歴史的にはそうでした. まつもと ゆきひろ /:|)