pascalabcnet/PABCNetHelp/LangGuide/PABCSystemUnit/Files/Extension methods for List T.html

75 lines
8.9 KiB
HTML
Raw Permalink Normal View History

<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="AdjacentFind">
<param name="Keyword" value="Fill">
<param name="Keyword" value="IndexMax">
2024-10-05 15:33:20 +03:00
<param name="Keyword" value="IndexMaxBy">
<param name="Keyword" value="IndexMin">
2024-10-05 15:33:20 +03:00
<param name="Keyword" value="IndexMinBy">
2020-01-12 19:02:52 +03:00
<param name="Keyword" value="Indices">
<param name="Keyword" value="LastIndexMax">
2024-10-05 15:33:20 +03:00
<param name="Keyword" value="LastIndexMaxBy">
<param name="Keyword" value="LastIndexMin">
2024-10-05 15:33:20 +03:00
<param name="Keyword" value="LastIndexMinBy">
<param name="Keyword" value="RandomElement">
<param name="Keyword" value="RemoveLast">
<param name="Keyword" value="Replace">
<param name="Keyword" value="Shuffle">
<param name="Keyword" value="Slice">
<param name="Keyword" value="Swap">
<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: IList&lt;T&gt;; start: integer := 0): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Находит первую пару подряд идущих одинаковых элементов и возвращает индекс первого элемента пары. Если не найден, возвращается -1</td></tr>
<tr><td><code><b>function</b> AdjacentFind&lt;T&gt;(Self: IList&lt;T&gt;; 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> Fill&lt;T&gt;(Self: List&lt;T&gt;; x: T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Заполняет элементы списка указанным значением</td></tr>
<tr><td><code><b>function</b> Fill&lt;T&gt;(Self: List&lt;T&gt;; f: integer-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Заполняет элементы списка значениями, вычисляемыми по некоторому правилу</td></tr>
<tr><td><code><b>function</b> IndexMax&lt;T&gt;(Self: List&lt;T&gt;; 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>
2024-10-05 15:33:20 +03:00
<tr><td><code><b>function</b> IndexMaxBy&lt;T, TKey&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; TKey): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс первого элемента с максимальным значением ключа</td></tr>
<tr><td><code><b>function</b> IndexMin&lt;T&gt;(Self: List&lt;T&gt;; 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>
2024-10-05 15:33:20 +03:00
<tr><td><code><b>function</b> IndexMinBy&lt;T, TKey&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; TKey): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс первого элемента с минимальным значением ключа</td></tr>
2020-01-12 19:02:52 +03:00
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: List&lt;T&gt;): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает последовательность индексов списка</td></tr>
2020-01-12 19:02:52 +03:00
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: List&lt;T&gt;; cond: T-&gt;boolean): <b>sequence </b> <b>of</b> integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает последовательность индексов элементов списка, удовлетворяющих условию</td></tr>
2020-01-12 19:02:52 +03:00
<tr><td><code><b>function</b> Indices&lt;T&gt;(Self: List&lt;T&gt;; 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: List&lt;T&gt;; index: integer): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего минимального элемента в диапазоне [0,index-1]</td></tr>
<tr><td><code><b>function</b> LastIndexMax&lt;T&gt;(Self: List&lt;T&gt;): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего максимального элемента</td></tr>
2024-10-05 15:33:20 +03:00
<tr><td><code><b>function</b> LastIndexMaxBy&lt;T, TKey&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; TKey): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего элемента с максимальным значением ключа</td></tr>
<tr><td><code><b>function</b> LastIndexMin&lt;T&gt;(Self: List&lt;T&gt;; index: integer): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего минимального элемента в диапазоне [0,index-1]</td></tr>
<tr><td><code><b>function</b> LastIndexMin&lt;T&gt;(Self: List&lt;T&gt;): integer; <b>where</b> T: IComparable&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего минимального элемента</td></tr>
2024-10-05 15:33:20 +03:00
<tr><td><code><b>function</b> LastIndexMinBy&lt;T, TKey&gt;(Self: <b>array</b> <b>of</b> T; keySelector: T -&gt; TKey): integer;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает индекс последнего элемента с минимальным значением ключа</td></tr>
<tr><td><code><b>function</b> RandomElement&lt;T&gt;(Self: List&lt;T&gt;): T;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает случайный элемент списка</td></tr>
<tr><td><code><b>function</b> RemoveLast&lt;T&gt;(Self: List&lt;T&gt;): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Удаляет последний элемент. Если элементов нет, генерирует исключение</td></tr>
<tr><td><code><b>function</b> Replace&lt;T&gt;(Self: List&lt;T&gt;; oldValue, newValue: T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Заменяет в списке все вхождения одного значения на другое</td></tr>
<tr><td><code><b>function</b> Shuffle&lt;T&gt;(Self: List&lt;T&gt;): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Перемешивает элементы списка случайным образом</td></tr>
<tr><td><code><b>function</b> Slice&lt;T&gt;(Self: List&lt;T&gt;; from, step: integer): List&lt;T&gt;;</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: List&lt;T&gt;; from, step, count: integer): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возвращает срез списка от индекса from с шагом step длины не более count</td></tr>
<tr><td><code><b>function</b> Swap&lt;T&gt;(Self: List&lt;T&gt;; i, j: integer): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Меняет местами элементы списка с индексами i и j</td></tr>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: T-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Преобразует элементы массива или списка по заданному правилу</td></tr>
<tr><td><code><b>function</b> Transform&lt;T&gt;(Self: List&lt;T&gt;; f: (T,integer)-&gt;T): List&lt;T&gt;;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Преобразует элементы массива или списка по заданному правилу</td></tr>
</table>
</body></HTML>