From: ts Date: 2004-04-17T21:10:33+09:00 Subject: Re: New Local Variable Scope rule >>>>> "D" == David Alan Black writes: D> Going back to the original point (more or less): I'm just a little D> perplexed by the whole idea of closures (blocks, Procs, lambdas) D> having this compile-time effect on local variables in their context of D> creation. Well, actually this is at compile time that ruby make the difference between local, block-local variable and method call. If I've well understood, in 2.0 this is not changed : the only difference is how ruby make the difference between local and block-local variable. Now the worst case is perhaps this svg% cat b.rb #!/usr/bin/ruby thr = [] 5.times do |i| thr << Thread.new do a = i Thread.stop puts a end end thr.each {|t| t.run } svg% svg% b.rb 0 1 2 3 4 svg% I'm not sure but I think that for 2.0 all threads will give the same result. Do these constructs are really frequent ? I don't know. The best way do know this is to modify your personnal version of ruby and use it : you can have surprise :-))) Guy Decoux