mlox/lox.t/for/scope.lox
2024-08-03 02:44:12 +02:00

26 lines
488 B
Lox

{
var i = "before";
// New variable is in inner scope.
for (var i = 0; i < 1; i = i + 1) {
print i; // expect: 0
// Loop body is in second inner scope.
var i = -1;
print i; // expect: -1
}
}
{
// New variable shadows outer variable.
for (var i = 0; i > 0; i = i + 1) {}
// Goes out of scope after loop.
var i = "after";
print i; // expect: after
// Can reuse an existing variable.
for (i = 0; i < 1; i = i + 1) {
print i; // expect: 0
}
}