function AdjacentGroup<T>(Self: sequence of T): sequence of array of T;
Группирует одинаковые подряд идущие элементы, получая последовательность массивов |
function Batch<T>(Self: sequence of T; size: integer): sequence of sequence of T;
Разбивает последовательность на серии длины size |
function Batch<T, Res>(Self: sequence of T; size: integer; proj: Func<IEnumerable<T>, Res>): sequence of Res;
Разбивает последовательность на серии длины size и применяет проекцию к каждой серии |
function Cartesian<T, T1>(Self: sequence of T; b: sequence of T1): sequence of (T, T1);
Декартово произведение последовательностей |
function Cartesian<T, T1, T2>(Self: sequence of T; b: sequence of T1; func: (T,T1)->T2): sequence of T2;
Декартово произведение последовательностей |
procedure ForEach<T>(Self: sequence of T; action: T -> ());
Применяет действие к каждому элементу последовательности |
procedure ForEach<T>(Self: sequence of T; action: (T,integer) -> ());
Применяет действие к каждому элементу последовательности, зависящее от номера элемента |
function Incremental(Self: sequence of integer): sequence of integer;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: array of integer): sequence of integer;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: List<integer>): sequence of integer;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: LinkedList<integer>): sequence of integer;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: sequence of real): sequence of real;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: array of real): sequence of real;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: List<real>): sequence of real;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental(Self: LinkedList<real>): sequence of real;
Возвращает последовательность разностей соседних элементов исходной последовательности |
function Incremental<T, T1>(Self: sequence of T; func: (T,T)->T1): sequence of T1;
Возвращает последовательность разностей соседних элементов исходной последовательности. В качестве функции разности используется func |
function Incremental<T, T1>(Self: sequence of T; func: (T,T,integer)->T1): sequence of T1;
Возвращает последовательность разностей соседних элементов исходной последовательности. В качестве функции разности используется func |
function Interleave<T>(Self: sequence of T; a: sequence of T): sequence of T;
Чередует элементы двух последовательностей |
function Interleave<T>(Self: sequence of T; a, b: sequence of T): sequence of T;
Чередует элементы трех последовательностей |
function Interleave<T>(Self: sequence of T; a, b, c: sequence of T): sequence of T;
Чередует элементы четырех последовательностей |
function JoinIntoString<T>(Self: sequence of T; delim: string): string;
Преобразует элементы последовательности в строковое представление, после чего объединяет их в строку, используя delim в качестве разделителя |
function JoinIntoString<T>(Self: sequence of T): string;
Преобразует элементы последовательности в строковое представление, после чего объединяет их в строку, используя пробел в качестве разделителя |
function LastMaxBy<T, TKey>(Self: sequence of T; selector: T->TKey): T;
Возвращает последний элемент последовательности с максимальным значением ключа |
function LastMinBy<T, TKey>(Self: sequence of T; selector: T->TKey): T;
Возвращает последний элемент последовательности с минимальным значением ключа |
function MaxBy<T, TKey>(Self: sequence of T; selector: T->TKey): T;
Возвращает первый элемент последовательности с максимальным значением ключа |
function MinBy<T, TKey>(Self: sequence of T; selector: T->TKey): T;
Возвращает первый элемент последовательности с минимальным значением ключа |
function Numerate<T>(Self: sequence of T): sequence of (integer, T);
Нумерует последовательность с единицы |
function Numerate<T>(Self: sequence of T; from: integer): sequence of (integer, T);
Нумерует последовательность с номера from |
function Order<T>(Self: sequence of T): sequence of T;
Возвращает отсортированную по возрастанию последовательность |
function OrderDescending<T>(Self: sequence of T): sequence of T;
Возвращает отсортированную по убыванию последовательность |
function Pairwise<T>(Self: sequence of T): sequence of (T, T);
Превращает последовательность в последовательность пар соседних элементов |
function Pairwise<T, Res>(Self: sequence of T; func: (T,T)->Res): sequence of Res;
Превращает последовательность в последовательность пар соседних элементов, применяет func к каждой паре полученных элементов и получает новую последовательность |
function Partition<T>(Self: sequence of T; cond: T->boolean): (sequence of T, sequence of T);
Разделяет последовательность на две по заданному условию. Реализуется двухпроходным алгоритмом |
function Partition<T>(Self: sequence of T; cond: (T,integer)->boolean): (sequence of T, sequence of T);
Разделяет последовательность на две по заданному условию, в котором участвует индекс. Реализуется двухпроходным алгоритмом |
function Print<T>(Self: sequence of T; delim: string): sequence of T;
Выводит последовательность на экран, используя delim в качестве разделителя |
function Print<T>(Self: sequence of T): sequence of T;
Выводит последовательность на экран, используя пробел в качестве разделителя |
function PrintLines<T>(Self: sequence of T): sequence of T;
Выводит последовательность, каждый элемент выводится на новой строке |
function PrintLines<T,T1>(Self: sequence of T; map: T->T1): sequence of T;
Выводит последовательность, каждый элемент отображается с помощью функции map и выводится на новой строке |
function Println<T>(Self: sequence of T; delim: string): sequence of T;
Выводит последовательность на экран, используя delim в качестве разделителя, и переходит на новую строку |
function Println<T>(Self: sequence of T): sequence of T;
Выводит последовательность на экран, используя пробел качестве разделителя, и переходит на новую строку |
function Product(Self: sequence of real): real;
Возвращает произведение элементов последовательности |
function Product(Self: sequence of integer): integer;
Возвращает произведение элементов последовательности |
function SkipLast<T>(Self: sequence of T; count: integer): sequence of T;
Возвращает последовательность без последних count элементов |
function Slice<T>(Self: sequence of T; from, step: integer): sequence of T;
Возвращает срез последовательности от номера from с шагом step > 0 |
function Slice<T>(Self: sequence of T; from, step, count: integer): sequence of T;
Возвращает срез последовательности от номера from с шагом step > 0 длины не более count |
function Sorted<T>(Self: sequence of T): sequence of T;
Возвращает отсортированную по возрастанию последовательность |
function SortedDescending<T>(Self: sequence of T): sequence of T;
Возвращает отсортированную по убыванию последовательность |
function SplitAt<T>(Self: sequence of T; ind: integer): (sequence of T, sequence of T);
Разбивает последовательность на две в позиции ind. Реализуется двухпроходным алгоритмом |
function Tabulate<T, T1>(Self: sequence of T; F: T->T1): sequence of (T, T1);
Табулирует функцию последовательностью |
function TakeLast<T>(Self: sequence of T; count: integer): sequence of T;
Возвращает последние count элементов последовательности |
function ToHashSet<T>(Self: sequence of T): HashSet<T>;
Возвращает множество HashSet по данной последовательности |
function ToLinkedList<T>(Self: sequence of T): LinkedList<T>;
Возвращает LinkedList по данной последовательности |
function ToSortedSet<T>(Self: sequence of T): SortedSet<T>;
Возвращает множество SortedSet по данной последовательности |
function UnZipTuple<T, T1>(Self: sequence of (T, T1)): (sequence of T, sequence of T1);
Разъединяет последовательность двухэлементных кортежей на две последовательности. Реализуется двухпроходным алгоритмом |
function UnZipTuple<T, T1, T2>(Self: sequence of (T, T1, T2)): (sequence of T, sequence of T1, sequence of T2);
Разъединяет последовательность трехэлементных кортежей на три последовательности. Реализуется многопроходным алгоритмом |
function UnZipTuple<T, T1, T2, T3>(Self: sequence of (T, T1, T2, T3)): (sequence of T, sequence of T1, sequence of T2, sequence of T3);
Разъединяет последовательность четырехэлементных кортежей на четыре последовательности. Реализуется многопроходным алгоритмом |
function WriteLines(Self: sequence of string; fname: string): sequence of string;
Выводит последовательность строк в файл |
function ZipTuple<T, T1>(Self: sequence of T; a: sequence of T1): sequence of (T, T1);
Объединяет две последовательности в последовательность двухэлементных кортежей |
function ZipTuple<T, T1, T2>(Self: sequence of T; a: sequence of T1; b: sequence of T2): sequence of (T, T1, T2);
Объединяет три последовательности в последовательность трехэлементных кортежей |
function ZipTuple<T, T1, T2, T3>(Self: sequence of T; a: sequence of T1; b: sequence of T2; c: sequence of T3): sequence of (T, T1, T2, T3);
Объединяет четыре последовательности в последовательность четырехэлементных кортежей |