Поделиться через


Функция Seq.collect<'T,'Collection,'U> (F#)

Применяет данную функцию к каждому элементу последовательности и сцепляет результаты.

Пространство имен/путь к модулю: Microsoft.FSharp.Collections.Seq

Сборка: FSharp.Core (в FSharp.Core.dll)

// Signature:
Seq.collect : ('T -> 'Collection) -> seq<'T> -> seq<'U> (requires 'Collection :> seq<'U>)

// Usage:
Seq.collect mapping source

Параметры

  • mapping
    Тип: 'T -> 'Collection

    Функция для преобразования элементов входной последовательности в последовательности, которые сцепляются.

  • source
    Тип: seq<'T>

    Входная последовательность.

Исключения

Исключение

Атрибут Condition

ArgumentNullException

Создается при указании в качестве входной последовательности значения NULL.

Возвращаемое значение

Результирующая последовательность.

Заметки

Последовательность оценивается с задержкой.Следовательно, эффект отложен до того, как будет создано перечисление.

В скомпилированных сборках имя этой функции — Collect.При обращении к функции из языка, отличного от F#, или посредством отражения следует использовать это имя.

Пример

В следующем коде демонстрируется использование функции Seq.collect.

let addNegations seq1 =
   Seq.collect (fun x -> seq { yield x; yield -x }) seq1
   |> Seq.sort
addNegations [ 1 .. 4 ] |> Seq.iter (fun elem -> printf "%d " elem)
printfn ""
addNegations [| 0; -4; 2; -12 |] |> Seq.iter (fun elem -> printf "%d " elem)

Output

  

Платформы

Windows 8, Windows 7, Windows Server 2012, Windows 2008 Server R2

Сведения о версии

Основной версии библиотеки F#

Поддерживается в: 2.0, 4.0, портативное

См. также

Ссылки

Модуль Collections.Seq (F#)

Пространство имен Microsoft.FSharp.Collections (F#)