From 988789c609e3b351931171ef986cdc11dabba08c Mon Sep 17 00:00:00 2001 From: miks1965 Date: Sat, 18 Feb 2017 19:27:00 +0300 Subject: [PATCH] function operator*(p: procedure; n: integer): procedure; extensionmethod; MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit в PABCExtensions.pas. К сожалению, в pcu пока не сохраняется --- bin/Lib/PABCExtensions.pas | 16 ++++++++++++++++ bin/Lib/PABCSystem.pas | 1 + 2 files changed, 17 insertions(+) diff --git a/bin/Lib/PABCExtensions.pas b/bin/Lib/PABCExtensions.pas index fb9d4419b..e1963abc9 100644 --- a/bin/Lib/PABCExtensions.pas +++ b/bin/Lib/PABCExtensions.pas @@ -82,6 +82,22 @@ begin f.Close end; +//------------------------------------------------------------------------------ +// Операции для procedure +//------------------------------------------------------------------------------ +///-- +function operator*(p: procedure; n: integer): procedure; extensionmethod; +begin + Result := () -> for var i:=1 to n do p +end; + +///-- +function operator*(n: integer; p: procedure): procedure; extensionmethod; +begin + Result := () -> for var i:=1 to n do p +end; + + {procedure Write(Self: file of T; params vals: array of T); extensionmethod; begin foreach var x in vals do diff --git a/bin/Lib/PABCSystem.pas b/bin/Lib/PABCSystem.pas index 4ec606a70..97eb0f485 100644 --- a/bin/Lib/PABCSystem.pas +++ b/bin/Lib/PABCSystem.pas @@ -9975,6 +9975,7 @@ function operator> (Self: (T1,T2,T3,T4); v: (T1,T2,T3,T4)); extensi ///-- function operator>= (Self: (T1,T2,T3,T4); v: (T1,T2,T3,T4)); extensionmethod := CompareToTup4(Self,v) >= 0; + // -------------------------------------------- // Методы расширения типа Tuple # Extension methods for Tuple // -------------------------------------------