From: ts Date: 2001-04-19T20:06:15+09:00 Subject: [ruby-talk:13856] Re: local vars in case >>>>> "K" == K Kosako writes: K> In this method, only values are cleared without removing dyna-var objects K> at the end of rb_yield_0, and used in the next rb_yield_0 call. K> It is not a good method because the argument "acheck" of rb_yield_0 K> is being referred to to do the decision of yield-call or proc/thread-call. I've quickly look at your patch, but do it solve this ? [0,1].each {|n| print "n: #{n}\n" case n when 1 a = 0 print "a: #{a}\n" # => 0 when 0 b = 1 print "a: #{a}\n" # => "a: " (a == nil) print "b: #{b}\n" end } Guy Decoux