nondescript/tests/break.nds

92 lines
1.0 KiB
Plaintext
Raw Normal View History

2022-01-29 21:11:20 +01:00
print "expect: inner douter";
{ @outer
{ @middle
{ @inner
print "inner";
break @middle;
};
print "middle";
};
print "outer";
};
print "expect: inner middle outer";
{ @outer
{ @middle
{ @inner
print "inner";
break @inner;
};
print "middle";
};
print "outer";
};
print "expect: nothing";
{ @outer
{ @middle
{ @inner
{
break @outer;
};
print "inner";
};
print "middle";
};
print "outer";
};
print "expect 5";
var f = funct() {
var y = 1;
var z = 3;
var p = 1;
2022-01-29 22:47:23 +01:00
:result = y + (z + p);
{
break @function;
};
2022-01-29 22:47:23 +01:00
:result = 10;
};
print f();
print "expect 15";
f = funct(m, n)
2022-01-29 22:47:23 +01:00
:result = m + n
;
print f(f(5, 5), 5);
print "expect: 10";
var g = funct()
2022-01-29 22:47:23 +01:00
:result = {@a
:a = { @b
:b = { @c
:c = 10;
};
};
}
;
print g();
print "expect: 9";
var h = funct()
2022-01-29 22:47:23 +01:00
:result = {@a
:a = { @b
:b = { @c
:a = 3;
:b = 6;
:c = :a + :b;
};
};
}
;
print h();