crafting-interpreters/lox/for_closure_in_body_lox

23 lines
298 B
Text
Raw Permalink Normal View History

2025-05-27 09:22:29 +02:00
var f1;
var f2;
var f3;
for (var i = 1; i < 4; i = i + 1) {
var j = i;
fun f() {
print i;
print j;
}
if (j == 1) f1 = f;
else if (j == 2) f2 = f;
else f3 = f;
}
f1(); // expect: 4
// expect: 1
f2(); // expect: 4
// expect: 2
f3(); // expect: 4
// expect: 3