Bug?: local variable created in if modifier not available in modified expression

Brian C. wrote in post #1082746:

The final point you need to be clear on: whether an assignment is
executed or not makes no difference. It’s simply whether it is parsed
as one. So for example:

if false
baz = 123
end
puts baz # prints nil - does not give an error

I enjoyed reading your last reply, and have to admit that in your
earlier post, I completely missed the significance of the above code,
which is a rather convincing evidence of how parser works, and that
everything you are saying except a few hints about my ignorance, which
inspired me to object to your initial rather provoking reply to my post,
is true.

Thank you, for this second very informative and much better than first
reply.

Cheers, igor.