This is something strange I've figured out in ruby 1.9.3.
Here is the code:
>> r = true
>> if r
>> a = "hello"
>> else
>> b = "hello"
>> end
Now the value of a is "hello":
>> a
=> "hello"
And strangely the value of b is nil
>> b
=> nil
Since b is nowhere in the scene, it should be undeclared.
Why?