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.
|