File: function_types.g

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (40 lines) | stat: -rw-r--r-- 635 bytes parent folder | download | duplicates (2)
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
f1 := function(a)
    Print("f1:",a,"\n");
end;

f2 := function(a,b)
    Print("f2:",a,":",b,"\n");
end;

f3 := function(a...)
    Print("f3:",a,"\n");
end;

f4 := function(a,b...)
    Print("f4:",a, ":",b, "\n");
end;

# weird function argument names...
f5 := function(a\,b)
    Print("f5:", a\,b, "\n");
end;

runtest := function()
    f1(2);
    f2(2,3);
    f3();
    f3(2);
    f3(2,3,4);
    f4(1);
    f4(1,2);
    f4(1,2,3);
    f5(4);

    BreakOnError := false;

    CALL_WITH_CATCH({} -> f1(), []);
    CALL_WITH_CATCH({} -> f1(1,2), []);
    CALL_WITH_CATCH({} -> f2(1,2,3), []);
    CALL_WITH_CATCH({} -> f4(), []);

end;