Patrick Gundlach
12/7/2005 10:43:00 AM
Hi,
as others have pointed out, create a reference to var1,var2 before the
block:
# same as your example:
%w( foo bar ).each do |w|
if w.match(/foo/)
a="something"
end
if w.match(/bar/)
puts a #=> nil
end
end
# --------------------------------------------------
# this one is OK
a=nil
%w( foo bar ).each do |w|
if w.match(/foo/)
a="something"
end
if w.match(/bar/)
puts a # => something
end
end
# --------------------------------------------------
But this is still dangerous, it might lead to hard to find bugs.
Patrick