Scan стандартный метод расширения
This commit is contained in:
parent
e5573da41a
commit
a7598b50cd
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "9";
|
||||
public const string Build = "0";
|
||||
public const string Revision = "3432";
|
||||
public const string Revision = "3434";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=0
|
||||
%REVISION%=3432
|
||||
%REVISION%=3434
|
||||
%MINOR%=9
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -145,14 +145,22 @@
|
|||
<br> Âîçâðàùàåò ñðåç ìàññèâà îò èíäåêñà from ñ øàãîì step äëèíû íå áîëåå count</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(Self: <b>array</b> <b>of</b> T);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort(Self: <b>array</b> <b>of</b> string);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(Self: <b>array</b> <b>of</b> T; cmp: (T,T) ->integer);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ, èñïîëüçóÿ cmp â êà÷åñòâå ôóíêöèè ñðàâíåíèÿ ýëåìåíòîâ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T,T1>(Self: <b>array</b> <b>of</b> T; keySelector: T -> T1);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(Self: <b>array</b> <b>of</b> T; keySelector: T -> string);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(Self: <b>array</b> <b>of</b> T);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending(Self: <b>array</b> <b>of</b> string);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T,T1>(Self: <b>array</b> <b>of</b> T; keySelector: T -> T1);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(Self: <b>array</b> <b>of</b> T; keySelector: T -> string);</code>
|
||||
<br> Ñîðòèðóåò ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: T->T);</code>
|
||||
<br> Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Transform<T>(Self: <b>array</b> <b>of</b> T; f: (T,integer)->T);</code>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<param name="Keyword" value="PrintLines">
|
||||
<param name="Keyword" value="Println">
|
||||
<param name="Keyword" value="Product">
|
||||
<param name="Keyword" value="Scan">
|
||||
<param name="Keyword" value="SkipLast">
|
||||
<param name="Keyword" value="Slice">
|
||||
<param name="Keyword" value="Sorted">
|
||||
|
|
@ -109,8 +110,12 @@
|
|||
<br> Ïðåâðàùàåò ïîñëåäîâàòåëüíîñòü â ïîñëåäîâàòåëüíîñòü n-îê ñîñåäíèõ ýëåìåíòîâ</td></tr>
|
||||
<tr><td><code><b>function</b> Order<T>(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò îòñîðòèðîâàííóþ ïî âîçðàñòàíèþ ïîñëåäîâàòåëüíîñòü</td></tr>
|
||||
<tr><td><code><b>function</b> Order(Self: <b>sequence </b> <b>of</b> string): <b>sequence </b> <b>of</b> string;</code>
|
||||
<br> Возвращает отсортированную по возрастанию последовательность</td></tr>
|
||||
<tr><td><code><b>function</b> OrderDescending<T>(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò îòñîðòèðîâàííóþ ïî óáûâàíèþ ïîñëåäîâàòåëüíîñòü</td></tr>
|
||||
<tr><td><code><b>function</b> OrderDescending(Self: <b>sequence </b> <b>of</b> string): <b>sequence </b> <b>of</b> string;</code>
|
||||
<br> Возвращает отсортированную по убыванию последовательность</td></tr>
|
||||
<tr><td><code><b>function</b> Pairwise<T>(Self: <b>sequence </b> <b>of</b> T): <b>sequence </b> <b>of</b> (T, T);</code>
|
||||
<br> Ïðåâðàùàåò ïîñëåäîâàòåëüíîñòü â ïîñëåäîâàòåëüíîñòü ïàð ñîñåäíèõ ýëåìåíòîâ</td></tr>
|
||||
<tr><td><code><b>function</b> Pairwise<T, Res>(Self: <b>sequence </b> <b>of</b> T; func: (T,T)->Res): <b>sequence </b> <b>of</b> Res;</code>
|
||||
|
|
@ -149,6 +154,10 @@
|
|||
<br> Âîçâðàùàåò ïðîèçâåäåíèå ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè, ñïðîåêòèðîâàííûõ íà ÷èñëîâîå çíà÷åíèå</td></tr>
|
||||
<tr><td><code><b>function</b> Product(Self: <b>sequence </b> <b>of</b> BigInteger): BigInteger;</code>
|
||||
<br> Âîçâðàùàåò ïðîèçâåäåíèå ýëåìåíòîâ ïîñëåäîâàòåëüíîñòè</td></tr>
|
||||
<tr><td><code><b>function</b> Scan<T>(Self: <b>sequence </b> <b>of</b> T; func: (T,T) -> T): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Возвращает последовательность, в которой первый элемент равен первому элементу исходной последовательности, а каждый следующий -результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</td></tr>
|
||||
<tr><td><code><b>function</b> Scan<T,T1>(Self: <b>sequence </b> <b>of</b> T; first: T1; func: (T1,T) -> T1): <b>sequence </b> <b>of</b> T1;</code>
|
||||
<br> Возвращает последовательность, в которой первый элемент равен first, а каждый следующий -результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</td></tr>
|
||||
<tr><td><code><b>function</b> SkipLast<T>(self: <b>sequence </b> <b>of</b> T; count: integer := 1): <b>sequence </b> <b>of</b> T;</code>
|
||||
<br> Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü áåç ïîñëåäíèõ count ýëåìåíòîâ</td></tr>
|
||||
<tr><td><code><b>function</b> Slice<T>(Self: <b>sequence </b> <b>of</b> T; from, step: integer): <b>sequence </b> <b>of</b> T;</code>
|
||||
|
|
|
|||
|
|
@ -51,27 +51,43 @@
|
|||
<br> Ïåðåìåøèâàåò ñïèñîê ñëó÷àéíûì îáðàçîì</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort(a: <b>array</b> <b>of</b> string);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(a: <b>array</b> <b>of</b> T; cmp: (T,T)->integer);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ cmp</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(a: <b>array</b> <b>of</b> T; less: (T,T)->boolean);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ less</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T,TKey>(a: <b>array</b> <b>of</b> T; keySelector: T->TKey);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(a: <b>array</b> <b>of</b> T; keySelector: T->string);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(l: List<T>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort(<b>var</b> l: List<string>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(l: List<T>; cmp: (T,T)->integer);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ cmp</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(l: List<T>; less: (T,T)->boolean);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî êðèòåðèþ ñîðòèðîâêè, çàäàâàåìîìó ôóíêöèåé ñðàâíåíèÿ less</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T,T1>(<b>var</b> l: List<T>; keySelector: T->T1);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> Sort<T>(<b>var</b> l: List<T>; keySelector: T->string);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî âîçðàñòàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(a: <b>array</b> <b>of</b> T);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending(a: <b>array</b> <b>of</b> string);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T,T1>(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T->T1);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(<b>var</b> a: <b>array</b> <b>of</b> T; keySelector: T->string);</code>
|
||||
<br> Ñîðòèðóåò äèíàìè÷åñêèé ìàññèâ ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(l: List<T>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending(<b>var</b> l: List<string>);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T,T1>(<b>var</b> l: List<T>; keySelector: T->T1);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
<tr><td><code><b>procedure</b> SortDescending<T>(<b>var</b> l: List<T>; keySelector: T->string);</code>
|
||||
<br> Ñîðòèðóåò ñïèñîê ïî óáûâàíèþ ïî êëþ÷ó</td></tr>
|
||||
</table>
|
||||
</body></HTML>
|
||||
|
|
@ -1 +1 @@
|
|||
3.9.0.3432
|
||||
3.9.0.3434
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.9.0.3432'
|
||||
!define VERSION '3.9.0.3434'
|
||||
|
|
|
|||
|
|
@ -10188,6 +10188,37 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
// SSM 14/3/2024 - Scan
|
||||
|
||||
/// Возвращает последовательность, в которой первый элемент равен первому элементу исходной последовательности, а каждый следующий -
|
||||
///результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной
|
||||
function Scan<T>(Self: sequence of T; func: (T,T) -> T): sequence of T; extensionmethod;
|
||||
begin
|
||||
var e := Self.GetEnumerator;
|
||||
e.MoveNext;
|
||||
var s := e.Current;
|
||||
yield s;
|
||||
while e.MoveNext do
|
||||
begin
|
||||
s := func(s,e.Current);
|
||||
yield s;
|
||||
end;
|
||||
end;
|
||||
|
||||
/// Возвращает последовательность, в которой первый элемент равен first, а каждый следующий -
|
||||
///результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной
|
||||
function Scan<T,T1>(Self: sequence of T; first: T1; func: (T1,T) -> T1): sequence of T1; extensionmethod;
|
||||
begin
|
||||
var e := Self.GetEnumerator;
|
||||
var s := first;
|
||||
yield s;
|
||||
while e.MoveNext do
|
||||
begin
|
||||
s := func(s,e.Current);
|
||||
yield s;
|
||||
end;
|
||||
end;
|
||||
|
||||
/// Возвращает сумму элементов последовательности, спроектированных на числовое значение - пока не работает для Lst(1,2,3)
|
||||
{function Sum<T>(Self: sequence of T; f: T->BigInteger): BigInteger; extensionmethod;
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -10188,6 +10188,37 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
// SSM 14/3/2024 - Scan
|
||||
|
||||
/// Возвращает последовательность, в которой первый элемент равен первому элементу исходной последовательности, а каждый следующий -
|
||||
///результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной
|
||||
function Scan<T>(Self: sequence of T; func: (T,T) -> T): sequence of T; extensionmethod;
|
||||
begin
|
||||
var e := Self.GetEnumerator;
|
||||
e.MoveNext;
|
||||
var s := e.Current;
|
||||
yield s;
|
||||
while e.MoveNext do
|
||||
begin
|
||||
s := func(s,e.Current);
|
||||
yield s;
|
||||
end;
|
||||
end;
|
||||
|
||||
/// Возвращает последовательность, в которой первый элемент равен first, а каждый следующий -
|
||||
///результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной
|
||||
function Scan<T,T1>(Self: sequence of T; first: T1; func: (T1,T) -> T1): sequence of T1; extensionmethod;
|
||||
begin
|
||||
var e := Self.GetEnumerator;
|
||||
var s := first;
|
||||
yield s;
|
||||
while e.MoveNext do
|
||||
begin
|
||||
s := func(s,e.Current);
|
||||
yield s;
|
||||
end;
|
||||
end;
|
||||
|
||||
/// Возвращает сумму элементов последовательности, спроектированных на числовое значение - пока не работает для Lst(1,2,3)
|
||||
{function Sum<T>(Self: sequence of T; f: T->BigInteger): BigInteger; extensionmethod;
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -3101,6 +3101,22 @@
|
|||
<member name="M:PartialSum(System.Collections.Generic.IEnumerable{System.Numerics.BigInteger})">
|
||||
<summary>Возвращает последовательность частичных сумм элементов последовательности</summary>
|
||||
</member>
|
||||
<member name="M:<yield_helper_error_checkerr>Scan``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``0})">
|
||||
<summary>Возвращает последовательность, в которой первый элемент равен первому элементу исходной последовательности, а каждый следующий -
|
||||
результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</summary>
|
||||
</member>
|
||||
<member name="M:Scan``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,``0})">
|
||||
<summary>Возвращает последовательность, в которой первый элемент равен первому элементу исходной последовательности, а каждый следующий -
|
||||
результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</summary>
|
||||
</member>
|
||||
<member name="M:<yield_helper_error_checkerr>Scan``2(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1})">
|
||||
<summary>Возвращает последовательность, в которой первый элемент равен first, а каждый следующий -
|
||||
результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</summary>
|
||||
</member>
|
||||
<member name="M:Scan``2(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1})">
|
||||
<summary>Возвращает последовательность, в которой первый элемент равен first, а каждый следующий -
|
||||
результат применения функции func к предыдущему элементу новой последовательности и текущему элементу исходной</summary>
|
||||
</member>
|
||||
<member name="M:Sum(System.Collections.Generic.IEnumerable{System.Numerics.BigInteger})">
|
||||
<summary>Возвращает сумму элементов последовательности</summary>
|
||||
</member>
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in a new issue