pascalabcnet/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for array of T.html
Mikhalkovich Stanislav 8df7bac82c proc_body сделано типа object в function_lambda_definition
Небольшие правки PABCSystem.pas
2019-02-12 10:19:33 +03:00

107 lines
11 KiB
HTML

<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="AdjacentFind">
<param name="Keyword" value="BinarySearch">
<param name="Keyword" value="ConvertAll">
<param name="Keyword" value="Fill">
<param name="Keyword" value="Find">
<param name="Keyword" value="FindAll">
<param name="Keyword" value="FindIndex">
<param name="Keyword" value="FindLast">
<param name="Keyword" value="FindLastIndex">
<param name="Keyword" value="High">
<param name="Keyword" value="IndexMax">
<param name="Keyword" value="IndexOf">
<param name="Keyword" value="Indices">
<param name="Keyword" value="LastIndexMax">
<param name="Keyword" value="LastIndexMin">
<param name="Keyword" value="LastIndexOf">
<param name="Keyword" value="Low">
<param name="Keyword" value="Max">
<param name="Keyword" value="Min">
<param name="Keyword" value="Replace">
<param name="Keyword" value="Shuffle">
<param name="Keyword" value="Slice">
<param name="Keyword" value="Sort">
<param name="Keyword" value="Transform"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Ìåòîäû ðàñøèðåíèÿ îäíîìåðíûõ äèíàìè÷åñêèõ ìàññèâîâ</H1>
<table border=0 cellpadding=5><tr><td><code><b>function</b> AdjacentFind&lt;T&gt;(Self: <b>array</b> <b>of</b> T; eq: (T,T)-&gt;boolean; start: integer := 0): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Íàõîäèò ïåðâóþ ïàðó ïîäðÿä èäóùèõ îäèíàêîâûõ ýëåìåíòîâ, èñïîëüçóÿ ôóíêöèþ ñðàâíåíèÿ eq, è âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ïàðû. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> BinarySearch&lt;T&gt;(Self: <b>array</b> <b>of</b> T; x: T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò áèíàðíûé ïîèñê â îòñîðòèðîâàííîì ìàññèâå</td></tr>
<tr><td><code><b>function</b> ConvertAll&lt;T, T1&gt;(Self: <b>array</b> <b>of</b> T; converter: T-&gt;T1): <b>array</b> <b>of</b> T1;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà è âîçâðàùàåò ïðåîáðàçîâàííûé ìàññèâ</td></tr>
<tr><td><code><b>function</b> ConvertAll&lt;T, T1&gt;(Self: <b>array</b> <b>of</b> T; converter: (T,integer)-&gt;T1): <b>array</b> <b>of</b> T1;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà è âîçâðàùàåò ïðåîáðàçîâàííûé ìàññèâ</td></tr>
<tr><td><code><b>procedure</b> Fill&lt;T&gt;(Self: <b>array</b> <b>of</b> T; f: integer -&gt; T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàïîëíÿåò ýëåìåíòû ìàññèâà çíà÷åíèÿìè, âû÷èñëÿåìûìè ïî íåêîòîðîìó ïðàâèëó</td></tr>
<tr><td><code><b>function</b> Find&lt;T&gt;(Self: <b>array</b> <b>of</b> T; p: T-&gt;boolean): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê ïåðâîãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó. Åñëè íå íàéäåí, âîçâðàùàåòñÿ íóëåâîå çíà÷åíèå ñîîòâåòñòâóþùåãî òèïà</td></tr>
<tr><td><code><b>function</b> FindAll&lt;T&gt;(Self: <b>array</b> <b>of</b> T; p: T-&gt;boolean): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò â âèäå ìàññèâà âñå ýëåìåíòû, óäîâëåòâîðÿþùèå ïðåäèêàòó</td></tr>
<tr><td><code><b>function</b> FindIndex&lt;T&gt;(Self: <b>array</b> <b>of</b> T; p: T-&gt;boolean): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê èíäåêñà ïåðâîãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> FindIndex&lt;T&gt;(Self: <b>array</b> <b>of</b> T; start: integer; p: T-&gt;boolean): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê èíäåêñà ïåðâîãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó, íà÷èíàÿ ñ èíäåêñà start. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> FindLast&lt;T&gt;(Self: <b>array</b> <b>of</b> T; p: T-&gt;boolean): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê ïîñëåäíåãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó. Åñëè íå íàéäåí, âîçâðàùàåòñÿ íóëåâîå çíà÷åíèå ñîîòâåòñòâóþùåãî òèïà</td></tr>
<tr><td><code><b>function</b> FindLastIndex&lt;T&gt;(Self: <b>array</b> <b>of</b> T; p: T-&gt;boolean): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê èíäåêñà ïîñëåäíåãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> FindLastIndex&lt;T&gt;(self: <b>array</b> <b>of</b> T; start: integer; p: T-&gt;boolean): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âûïîëíÿåò ïîèñê èíäåêñà ïîñëåäíåãî ýëåìåíòà â ìàññèâå, óäîâëåòâîðÿþùåãî ïðåäèêàòó, â äèàïàçîíå èíäåêñîâ îò 0 äî start. Åñëè íå íàéäåí, âîçâðàùàåòñÿ -1</td></tr>
<tr><td><code><b>function</b> High(Self: System.Array);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî ýëåìåíòà ìàññèâà</td></tr>
<tr><td><code><b>function</b> IndexMax&lt;T&gt;(self: <b>array</b> <b>of</b> T; index: integer := 0): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïåðâîãî ìàêñèìàëüíîãî ýëåìåíòà íà÷èíàÿ ñ ïîçèöèè index</td></tr>
<tr><td><code><b>function</b> IndexOf&lt;T&gt;(Self: <b>array</b> <b>of</b> T; x: T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïåðâîãî âõîæäåíèÿ ýëåìåíòà èëè -1 åñëè ýëåìåíò íå íàéäåí</td></tr>
<tr><td><code><b>function</b> IndexOf&lt;T&gt;(Self: <b>array</b> <b>of</b> T; x: T; start: integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïåðâîãî âõîæäåíèÿ ýëåìåíòà íà÷èíàÿ ñ èíäåêñà start èëè -1 åñëè ýëåìåíò íå íàéäåí</td></tr>
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: <b>array</b> <b>of</b> T): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èíäåêñîâ îäíîìåðíîãî ìàññèâà</td></tr>
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: <b>array</b> <b>of</b> T; cond: T-&gt;boolean): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èíäåêñîâ ýëåìåíòîâ îäíîìåðíîãî ìàññèâà, óäîâëåòâîðÿþùèõ óñëîâèþ</td></tr>
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: <b>array</b> <b>of</b> T; cond: (T,integer) -&gt;boolean): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ïîñëåäîâàòåëüíîñòü èíäåêñîâ ýëåìåíòîâ îäíîìåðíîãî ìàññèâà, óäîâëåòâîðÿþùèõ óñëîâèþ</td></tr>
<tr><td><code><b>function</b> LastIndexMax&lt;T&gt;(Self: <b>array</b> <b>of</b> T): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî ìèíèìàëüíîãî ýëåìåíòà</td></tr>
<tr><td><code><b>function</b> LastIndexMax&lt;T&gt;(Self: <b>array</b> <b>of</b> T; index: integer): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî ìèíèìàëüíîãî ýëåìåíòà â äèàïàçîíå [0,index]</td></tr>
<tr><td><code><b>function</b> LastIndexMin&lt;T&gt;(Self: <b>array</b> <b>of</b> T): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî ìèíèìàëüíîãî ýëåìåíòà</td></tr>
<tr><td><code><b>function</b> LastIndexMin&lt;T&gt;(Self: <b>array</b> <b>of</b> T; index: integer): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî ìèíèìàëüíîãî ýëåìåíòà â äèàïàçîíå [0,index]</td></tr>
<tr><td><code><b>function</b> LastIndexOf&lt;T&gt;(Self: <b>array</b> <b>of</b> T; x: T): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî âõîæäåíèÿ ýëåìåíòà èëè -1 åñëè ýëåìåíò íå íàéäåí</td></tr>
<tr><td><code><b>function</b> LastIndexOf&lt;T&gt;(Self: <b>array</b> <b>of</b> T; x: T; start: integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïîñëåäíåãî âõîæäåíèÿ ýëåìåíòà íà÷èíàÿ ñ èíäåêñà start èëè -1 åñëè ýëåìåíò íå íàéäåí</td></tr>
<tr><td><code><b>function</b> Low(Self: System.Array);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò èíäåêñ ïåðâîãî ýëåìåíòà ìàññèâà</td></tr>
<tr><td><code><b>function</b> Max&lt;T&gt;(Self: <b>array</b> <b>of</b> T): T; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìàêñèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Max(Self: <b>array</b> <b>of</b> integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìàêñèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Max(Self: <b>array</b> <b>of</b> real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìàêñèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Min&lt;T&gt;(Self: <b>array</b> <b>of</b> T): T; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìèíèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Min(Self: <b>array</b> <b>of</b> integer): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìèíèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>function</b> Min(Self: <b>array</b> <b>of</b> real): real;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ìèíèìàëüíûé ýëåìåíò</td></tr>
<tr><td><code><b>procedure</b> Replace&lt;T&gt;(Self: <b>array</b> <b>of</b> T; oldValue,newValue: T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Çàìåíÿåò â ìàññèâå âñå âõîæäåíèÿ îäíîãî çíà÷åíèÿ íà äðóãîå</td></tr>
<tr><td><code><b>function</b> Shuffle&lt;T&gt;(Self: <b>array</b> <b>of</b> T): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïåðåìåøèâàåò ýëåìåíòû ìàññèâà ñëó÷àéíûì îáðàçîì</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: <b>array</b> <b>of</b> T; from, step: integer): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñðåç ìàññèâà îò èíäåêñà from ñ øàãîì step</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: <b>array</b> <b>of</b> T; from, step, count: integer): <b>array</b> <b>of</b> T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Âîçâðàùàåò ñðåç ìàññèâà îò èíäåêñà from ñ øàãîì step äëèíû íå áîëåå count</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(Self: <b>array</b> <b>of</b> T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ</td></tr>
<tr><td><code><b>procedure</b> Sort&lt;T&gt;(Self: <b>array</b> <b>of</b> T; cmp: (T,T) -&gt;integer);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîðòèðóåò ìàññèâ ïî âîçðàñòàíèþ, èñïîëüçóÿ cmp â êà÷åñòâå ôóíêöèè ñðàâíåíèÿ ýëåìåíòîâ</td></tr>
<tr><td><code><b>procedure</b> Transform&lt;T&gt;(self: <b>array</b> <b>of</b> T; f: T -&gt; T);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ïðåîáðàçóåò ýëåìåíòû ìàññèâà ïî çàäàííîìó ïðàâèëó</td></tr>
</table>
</body></HTML>