Модуль Collections.Seq (F#)
Базовые операции над перечислимыми последовательностями.
Пространство имен/путь к модулю: Microsoft.FSharp.Collections
Сборка: FSharp.Core (в FSharp.Core.dll)
module Seq
Заметки
Обзор последовательностей в F# см. в разделе Последовательности (F#).
Значения
Значение |
Описание |
---|---|
append : seq<'T> -> seq<'T> -> seq<'T> |
Создает оболочку двух указанных перечислений в виде одного объединенного перечисления. |
average : seq<^T> -> ^T |
Возвращает среднее значение элементов в последовательности. |
averageBy : ('T -> ^U) -> seq<'T> -> ^U |
Возвращает среднее значение результатов, созданное путем применения функции к каждому элементу последовательности. |
cache : seq<'T> -> seq<'T> |
Возвращает последовательность, соответствующую кэшированной версии входной последовательности. |
cast : IEnumerable -> seq<'T> |
Создание оболочки для слабо типизированной последовательности System.Collections в качестве типизированной последовательности. |
choose : ('T -> 'U option) -> seq<'T> -> seq<'U> |
Применяет заданную функцию к каждому элементу списка.Возвращает список, состоящий из результатов для каждого элемента, где функция возвращает значение Some. |
collect : ('T -> 'Collection) -> seq<'T> -> seq<'U> |
Применяет данную функцию к каждому элементу последовательности и сцепляет результаты. |
compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int |
Сравнивает две последовательности, используя заданную функцию сравнения поэлементно. |
concat : seq<'Collection> -> seq<'T> |
Объединяет заданное перечисление перечислений в одно сцепленное перечисление. |
countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int> |
Применяет функцию создания ключей к каждому элементу последовательности и возвращает полученные уникальные ключи и число их вхождений в первоначальной последовательности. |
delay : (unit -> seq<'T>) -> seq<'T> |
Возвращает последовательность, полученную из указанной задержанной спецификации последовательности. |
distinct : seq<'T> -> seq<'T> |
Возвращает последовательность, которая не содержит дублирующихся записей в соответствии с универсальным хэшем и сравнениями на равенство.Если элемент встречается в последовательности несколько раз, последующие вхождения удаляются. |
distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T> |
Возвращает последовательность, которая не содержит дублирующихся записей в соответствии с универсальным хэшем и сравнениями ключей на равенство, возвращенными указанной функцией создания ключей.Если элемент встречается в последовательности несколько раз, последующие вхождения удаляются. |
empty : seq<'T> |
Создает пустую последовательность. |
exactlyOne: seq<'T> -> 'T |
Возвращает только первый элемент последовательности. |
exists : ('T -> bool) -> seq<'T> -> bool |
Проверяет, удовлетворяет ли какой-либо элемент последовательности заданному предикату. |
exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool |
Проверяет, удовлетворяет ли какая-либо пара соответствующих элементов входных последовательностей заданному предикату. |
filter : ('T -> bool) -> seq<'T> -> seq<'T> |
Возвращает новую коллекцию, содержащую только те элементы коллекции, для которых заданный предикат возвращает значение true. |
find : ('T -> bool) -> seq<'T> -> 'T |
Возвращает первый элемент, для которого заданная функция возвращает значение true. |
findIndex : ('T -> bool) -> seq<'T> -> int |
Возвращает индекс первого элемента, для которого заданная функция возвращает значение true. |
fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State |
Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Если входная функция — f, а элементы — i0...iN,, эта функция вычисляет f (... (f s i0)...) iN. |
forall : ('T -> bool) -> seq<'T> -> bool |
Проверяет, все ли элементы последовательности удовлетворяют заданному предикату. |
forall2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool |
Проверяет, все ли пары элементов, извлеченные из двух последовательностей, удовлетворяют заданному предикату.Если одна последовательность оказывается короче другой, оставшиеся элементы более длинной последовательности игнорируются. |
groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>> |
Применяет функцию создания ключей к каждому элементу последовательности и получает последовательность уникальных ключей.Каждый уникальный ключ также содержит последовательность всех элементов, соответствующих этому ключу. |
head : seq<'T> -> 'T |
Возвращает первый элемент последовательности. |
init : int -> (int -> 'T) -> seq<'T> |
Создает новую последовательность, которая при итерации по ней возвращает идущие подряд элементы вплоть до указанного числа путем вызова заданной функции.Результаты вызова функции не сохраняются — при необходимости повторного создания элементов эта функция применяется повторно.Функции передается индекс создаваемого элемента. |
initInfinite : (int -> 'T) -> seq<'T> |
Создает новую последовательность, при переборе которой будут возвращаться идущие подряд элементы путем вызова заданной функции.Результаты вызова функции не сохраняются — при необходимости повторного создания элементов эта функция будет применяться повторно.Функции передается индекс создаваемого элемента. |
isEmpty : seq<'T> -> bool |
Проверяет, содержит ли последовательность какие-либо элементы. |
iter : ('T -> unit) -> seq<'T> -> unit |
Применяет заданную функцию к каждому элементу коллекции. |
iter2 : ('T1 -> 'T2 -> unit) -> seq<'T1> -> seq<'T2> -> unit |
Применяет заданную функцию одновременно к двум коллекциям.Если одна последовательность оказывается короче другой, оставшиеся элементы более длинной последовательности игнорируются. |
iteri : (int -> 'T -> unit) -> seq<'T> -> unit |
Применяет заданную функцию к каждому элементу коллекции.Целое число, переданное функции, обозначает индекс элемента. |
last : seq<'T> -> 'T |
Возвращает последний элемент последовательности. |
length : seq<'T> -> int |
Возвращает длину последовательности. |
map : ('T -> 'U) -> seq<'T> -> seq<'U> |
Создает новую коллекцию, элементы которой являются результатом применения заданной функции к каждому элементу коллекции.Заданная функция будет применяться по мере запрашивания элементов с помощью метода MoveNext для перечислителей, извлеченных из объекта. |
map2 : ('T1 -> 'T2 -> 'U) -> seq<'T1> -> seq<'T2> -> seq<'U> |
Создает новую коллекцию, элементы которой являются результатом применения заданной функции к соответствующим парам элементов двух последовательностей.Если одна входная последовательность оказывается короче другой, оставшиеся элементы более длинной последовательности игнорируются. |
mapi : (int -> 'T -> 'U) -> seq<'T> -> seq<'U> |
Создает новую коллекцию, элементы которой являются результатом применения заданной функции к каждому элементу коллекции.Целочисленный индекс, переданный функции, указывает индекс (от 0) преобразуемого элемента. |
max : seq<'T> -> 'T |
Возвращает максимальный элемент последовательности, определенный посредством оператора Operators.max. |
maxBy : ('T -> 'U) -> seq<'T> -> 'T |
Возвращает максимальный элемент последовательности, определенный посредством применения оператора Operators.max к результату функции. |
min : seq<'T> -> 'T |
Возвращает минимальный элемент последовательности, определенный посредством оператора Operators.min. |
minBy : ('T -> 'U) -> seq<'T> -> 'T |
Возвращает минимальный элемент последовательности, определенный посредством применения оператора Operators.min к результату функции. |
nth : int -> seq<'T> -> 'T |
Вычисляет n-й элемент коллекции. |
ofArray : 'T array -> seq<'T> |
Обеспечивает просмотр заданного массива в виде последовательности. |
ofList : 'T list -> seq<'T> |
Просматривает заданный список как последовательность. |
pairwise : seq<'T> -> seq<'T * 'T> |
Возвращает последовательность каждого элемента и его предшественника во входной последовательности за исключением первого элемента, который возвращается в качестве предшественника второго элемента. |
pick : ('T -> 'U option) -> seq<'T> -> 'U |
Применяет заданную функцию к идущим подряд элементам, возвращая первое значение, когда функция возвращает значение Some. |
readonly : seq<'T> -> seq<'T> |
Создает новый объект последовательности, который делегируется данному объекту последовательности.Таким образом гарантируется, что первоначальную последовательность нельзя обнаружить повторно и изменить приведением типов.Например, если задан массив, возвращенная последовательность вернет все элементы массива, но при этом нельзя преобразовать объект последовательности в массив. |
reduce : ('T -> 'T -> 'T) -> seq<'T> -> 'T |
Применяет функцию к каждому элементу последовательности, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Начните, применив функцию к двум первым элементам.Затем передайте этот результат в функцию вместе с третьим элементом и т. д.Возвращает окончательный результат. |
scan : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> seq<'State> |
Действует как Seq.fold, но работает по требованию и возвращает последовательность промежуточных и конечных результатов. |
singleton : 'T -> seq<'T> |
Возвращает последовательность, дающую только один элемент. |
skip : int -> seq<'T> -> seq<'T> |
Возвращает последовательность, в которой пропущено указанное количество элементов первоначальной последовательности, а затем идут оставшиеся элементы последовательности. |
skipWhile : ('T -> bool) -> seq<'T> -> seq<'T> |
Возвращает последовательность, которая в ходе ее итерации пропускает элементы базовой последовательности, когда заданный предикат возвращает значение true, а затем выдает оставшиеся элементы последовательности. |
sort : seq<'T> -> seq<'T> |
Выдает последовательность, упорядоченную по ключам. |
sortBy: ('T -> 'Key) -> seq<'T> -> seq<'T> |
Применяет функцию создания ключей к каждому элементу последовательности и выдает последовательность, упорядоченную по ключам.Ключи сравниваются с помощью обычного сравнения, реализуемого Operators.compare. |
sum : seq<^T> -> ^T |
Возвращает сумму элементов в последовательности. |
Возвращает сумму результатов, созданную путем применения функции к каждому элементу последовательности. |
|
take : int -> seq<'T> -> seq<'T> |
Возвращает первые элементы последовательности вплоть до указанного номера. |
takeWhile : ('T -> bool) -> seq<'T> -> seq<'T> |
Возвращает последовательность, которая в ходе ее итерации выдает элементы базовой последовательности, когда заданный предикат возвращает значение true, и больше не возвращает элементов. |
toArray : seq<'T> -> 'T [] |
Создает массив из заданной коллекции. |
toList : seq<'T> -> 'T list |
Создает список из заданной коллекции. |
truncate : int -> seq<'T> -> seq<'T> |
Возвращает последовательность, которая при перечислении возвращает не более чем указанное количество элементов. |
tryFind : ('T -> bool) -> seq<'T> -> 'T option |
Возвращает первый элемент, для которого заданная функция возвращает значение true, или None, если такого элемента не существует. |
tryFindIndex : ('T -> bool) -> seq<'T> -> int option |
Возвращает индекс первого элемента последовательности, удовлетворяющего заданному предикату, или значение None, если ни одного такого элемента нет. |
tryPick : ('T -> 'U option) -> seq<'T> -> 'U option |
Применяет заданную функцию к идущим подряд элементам, возвращая первое значение, когда функция возвращает значение Some. |
unfold : ('State -> 'T * 'State option) -> 'State -> seq<'T> |
Возвращает последовательность, которая содержит элементы созданные данным вычислением. |
где: ('T -> bool) -> seq<'T> -> seq<'T> |
Возвращает новую коллекцию, содержащую только те элементы коллекции, для которых заданный предикат возвращает значение true.Синоним для Seq.filter. |
windowed : int -> seq<'T> -> seq<'T []> |
Возвращает последовательность, выдающую перемещающиеся окна из элементов, содержащихся во входной последовательности.Каждое окно возвращается как новый массив. |
zip : seq<'T1> -> seq<'T2> -> seq<'T1 * 'T2> |
Объединяет две последовательности в список пар.Две последовательности не обязаны иметь равную длину: при исчерпании одной последовательности оставшиеся в другой элементы игнорируются. |
zip3 : seq<'T1> -> seq<'T2> -> seq<'T3> -> seq<'T1 * 'T2 * 'T3> |
Объединяет три последовательности в список триад.Последовательности не обязаны иметь равную длину: при исчерпании одной последовательности оставшиеся в других последовательностях элементы игнорируются. |
Платформы
Windows 8, Windows 7, Windows Server 2012, Windows 2008 Server R2
Сведения о версии
Основной версии библиотеки F#
Поддерживается в: 2.0, 4.0, портативное