pascalabcnet/TestSuite/defaultparams1.pas

64 lines
952 B
ObjectPascal
Raw Permalink Normal View History

2015-05-14 22:35:07 +03:00
function test(a:integer; b: integer:=3): integer;
begin
Result := b;
end;
function test2(a: integer := 4): integer;
begin
Result := a;
end;
2016-05-15 20:38:19 +03:00
function test3(a: integer := 4; b: real := 2.3): integer;
begin
Result := a;
end;
2015-05-14 22:35:07 +03:00
function string.test(a: integer := 6): integer;
begin
Result := a;
end;
2015-08-12 20:21:10 +03:00
function ff(delim: string := ' '): string;
begin
Result := 'abc';
end;
procedure tt(str: string);
begin
assert(str = 'abc');
end;
procedure tt(i: integer);
begin
raise new Exception;
end;
2017-08-25 20:54:34 +03:00
type
TClass=class
function f(a: integer := 1; b: integer := 2): integer;
begin
Result:=2;
end;
end;
2015-05-14 22:35:07 +03:00
begin
2016-05-15 20:38:19 +03:00
assert(test3=4);
2015-05-14 22:35:07 +03:00
assert(test(2)=3);
assert(test(2,4)=4);
var j : integer := test2;
assert(j=4);
var i := test2;
assert(i = 4);
var s := 'abcd';
assert(s.test=6);
var k := s.test;
assert(k = 6);
2015-08-12 20:21:10 +03:00
tt(ff);
2016-05-15 20:38:19 +03:00
assert(ArrRandomReal <> nil);
assert(ArrRandomReal.Any = true);
2017-08-25 20:54:34 +03:00
var obj := new TClass;
var l := obj.f;
assert(l = 2);
2015-05-14 22:35:07 +03:00
end.