I'm working in a programming language in which the variable scope looks very weird to me. Consider the following pseudocode
while condition
string txt
if condition2
txt = "..."
end
print(txt)
end
In any other language I had worked with before, the scope of the variable txt would be limited to the while-loop. Moreover, in every iteration of the loop I expected the variable to be reinitialized.
However, not only does the variable txt remember it last known value, i.e. in case condition2 is false, the print statement would use the value from the previous iteration, the variable will also exist after the while loop.
Is there any reason why such an approach would be implemented?