1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
lines(0);
ilib_verbose(0);
ierr = exec('loader.sce', 'errcatch');
if ierr <> 0 then
disp(lasterror());
exit(ierr);
end
// Call our gcd() function
x = 42;
y = 105;
g = gcd(x, y);
printf("The gcd of %d and %d is %d\n", x, y, g);
// Call our fact() function
x = 5;
g = fact(x);
printf("The fact of %d is %d\n", x, g);
// Manipulate the Foo global variable
// Output its current value
printf("Foo = %f\n", Foo_get());
// Change its value
Foo_set(3.1415926);
// See if the change took effect
printf("Foo = %f\n", Foo_get());
// Check error messages when violating contract
ierr = execstr('gcd(-42, 105)', 'errcatch');
if ierr <> 20003 then
error("gcd(-42, 105) must provoke a RunTimeError")
end
ierr = execstr('fact(-4)', 'errcatch');
if ierr <> 20003 then
error("fact(-4) must provoke a RunTimeError")
end
exit
|