a.Divs(b) NotDivs DivsAll a.DivsAny(2,3,5)

if a.Divs(b) and a.NotDivs(5) then
SF a.D(b) a.ND(b)
This commit is contained in:
Mikhalkovich Stanislav 2020-09-10 00:58:58 +03:00
parent 67c6ff9319
commit 084bc1632a
8 changed files with 80 additions and 4 deletions

View file

@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3"; public const string Major = "3";
public const string Minor = "7"; public const string Minor = "7";
public const string Build = "1"; public const string Build = "1";
public const string Revision = "2681"; public const string Revision = "2683";
public const string MainVersion = Major + "." + Minor; public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%MINOR%=7 %MINOR%=7
%REVISION%=2681 %REVISION%=2683
%COREVERSION%=1 %COREVERSION%=1
%MAJOR%=3 %MAJOR%=3

View file

@ -1 +1 @@
3.7.1.2681 3.7.1.2683

View file

@ -1 +1 @@
!define VERSION '3.7.1.2681' !define VERSION '3.7.1.2683'

View file

@ -11833,6 +11833,36 @@ end;
// ----------------------------------------------------- // -----------------------------------------------------
//>> Методы расширения типа integer # Extension methods for integer //>> Методы расширения типа integer # Extension methods for integer
// ----------------------------------------------------- // -----------------------------------------------------
/// Возвращает True если целое делится на указанное значение
function Divs(Self,d: integer): boolean; extensionmethod := Self mod d = 0;
/// Возвращает True если целое не делится на указанное значение
function NotDivs(Self,d: integer): boolean; extensionmethod := Self mod d <> 0;
/// Возвращает True если целое делится на одно из значений
function DivsAny(Self: integer; params a: array of integer): boolean; extensionmethod;
begin
Result := False;
for var i:=0 to a.High do
if Self mod a[i] = 0 then
begin
Result := True;
exit
end;
end;
/// Возвращает True если целое делится на все значения
function DivsAll(Self: integer; params a: array of integer): boolean; extensionmethod;
begin
Result := True;
for var i:=0 to a.High do
if Self mod a[i] <> 0 then
begin
Result := False;
exit
end;
end;
/// Возвращает квадратный корень числа /// Возвращает квадратный корень числа
function Sqrt(Self: integer): real; extensionmethod; function Sqrt(Self: integer): real; extensionmethod;
begin begin
@ -12112,6 +12142,14 @@ end;
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
//>> Методы расширения типа string # Extension methods for string //>> Методы расширения типа string # Extension methods for string
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
/// Заменяет count вхождений подстроки oldStr на подстроку newStr в исходной строке
function Replace(Self: string; oldStr,newStr: string; count: integer): string; extensionmethod;
begin
var reg := new Regex(oldStr);
Result := reg.Replace(Self,newStr,count);
end;
/// Возвращает True если значение находится между двумя другими /// Возвращает True если значение находится между двумя другими
function Between(Self: string; a, b: string): boolean; extensionmethod; function Between(Self: string; a, b: string): boolean; extensionmethod;
begin begin

View file

@ -69,6 +69,10 @@ function Prln(Self: char): char; extensionmethod := Self.Println;
function Prln(Self: boolean): boolean; extensionmethod := Self.Println; function Prln(Self: boolean): boolean; extensionmethod := Self.Println;
function Prln(Self: string): string; extensionmethod := Self.Println; function Prln(Self: string): string; extensionmethod := Self.Println;
function D(Self,b: integer): boolean; extensionmethod := Self mod b = 0;
function ND(Self,b: integer): boolean; extensionmethod := Self mod b <> 0;
/// Записывает в min значение x если x<min /// Записывает в min значение x если x<min
procedure ReMin(var min: integer; x: integer); procedure ReMin(var min: integer; x: integer);
begin begin

View file

@ -11833,6 +11833,36 @@ end;
// ----------------------------------------------------- // -----------------------------------------------------
//>> Методы расширения типа integer # Extension methods for integer //>> Методы расширения типа integer # Extension methods for integer
// ----------------------------------------------------- // -----------------------------------------------------
/// Возвращает True если целое делится на указанное значение
function Divs(Self,d: integer): boolean; extensionmethod := Self mod d = 0;
/// Возвращает True если целое не делится на указанное значение
function NotDivs(Self,d: integer): boolean; extensionmethod := Self mod d <> 0;
/// Возвращает True если целое делится на одно из значений
function DivsAny(Self: integer; params a: array of integer): boolean; extensionmethod;
begin
Result := False;
for var i:=0 to a.High do
if Self mod a[i] = 0 then
begin
Result := True;
exit
end;
end;
/// Возвращает True если целое делится на все значения
function DivsAll(Self: integer; params a: array of integer): boolean; extensionmethod;
begin
Result := True;
for var i:=0 to a.High do
if Self mod a[i] <> 0 then
begin
Result := False;
exit
end;
end;
/// Возвращает квадратный корень числа /// Возвращает квадратный корень числа
function Sqrt(Self: integer): real; extensionmethod; function Sqrt(Self: integer): real; extensionmethod;
begin begin

View file

@ -69,6 +69,10 @@ function Prln(Self: char): char; extensionmethod := Self.Println;
function Prln(Self: boolean): boolean; extensionmethod := Self.Println; function Prln(Self: boolean): boolean; extensionmethod := Self.Println;
function Prln(Self: string): string; extensionmethod := Self.Println; function Prln(Self: string): string; extensionmethod := Self.Println;
function D(Self,b: integer): boolean; extensionmethod := Self mod b = 0;
function ND(Self,b: integer): boolean; extensionmethod := Self mod b <> 0;
/// Записывает в min значение x если x<min /// Записывает в min значение x если x<min
procedure ReMin(var min: integer; x: integer); procedure ReMin(var min: integer; x: integer);
begin begin