Ruby Scoping Oddity

2008-05-22 begin rescue Ruby

This prints out “1”:

`

  begin
    a = 1
    raise RuntimeError, "foo"
  rescue => e
    puts a
  end

`

I would think that a would be out of scope inside the rescue section but I guess Ruby considers the rescue section part of the begin/end block?