例如以下test case咁
test('for 4: naive search of Pythagoras with break(3) and finally', function(done){
let ast = prepare_ast(`
${common_dec}
func foo() -> int {
int i = 0;
int j = 0;
int k = 0;
for (i = 1; i < 15; i += 1)
for (j = i; j < 15; j += 1)
for (k = j; k < 15; k += 1)
if (i * i + j * j == k * k)
break(3);
finally k *= 10;
finally j *= 100;
finally i *= 1000;
__chai_assert_equal__(i, 3000);
__chai_assert_equal__(j, 400);
__chai_assert_equal__(k, 50);
return i + j + k;
}
func main(any argc, any[] argv) -> any {
int bar = foo();
return bar;
}
`);
chai.assert.equal(run(ast), 3450);
done();
});
不過對上一次commit係四個月前呢排忙其他project
睇下下星期而家個project穩定未 穩定就雙推