This repository has been archived on 2024-12-25. You can view files and clone it, but cannot push or open issues or pull requests.
OldPascalProjects/LanguageFeatures/Pattern Matching/UserDefinedDeconstructAsExtension.pas
2024-03-10 20:32:51 +03:00

20 lines
456 B
ObjectPascal

// Деконструктор как метод расширения
procedure Deconstruct(Self: integer; var a: integer; var b: integer); extensionmethod;
begin
a := Self div 10;
b := Self mod 10;
end;
begin
var i := 25;
if i is integer(var a, var b) then
Println(a,b);
i := 9;
match i with
integer(a,b) when i>=10: Println(a,b);
integer(a): Println(a); // деконструктор по умолчанию
end;
end.