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


Функция Seq.init<'T> (F#)

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

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

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

// Signature:
Seq.init : int -> (int -> 'T) -> seq<'T>

// Usage:
Seq.init count initializer

Параметры

  • count
    Тип: int

    Максимальное число элементов, создаваемых для последовательности.

  • initializer
    Тип: int -> 'T

    Функция, создающая в последовательности элемент из заданного индекса.

Исключения

Исключение

Атрибут Condition

ArgumentException

Создается, если счетчик имеет отрицательное значение.

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

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

Заметки

Каждый элемент сохраняется после инициализации. Функции передается индекс создаваемого элемента.

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

Потокобезопасность

Возвращаемая последовательность может безопасно передаваться между потоками. Однако не следует выполнять параллельный доступ к отдельным значениям IEnumerator, созданным из возвращенной последовательности.

Пример

В следующем примере кода демонстрируется использование Seq.init для создания последовательности первых пяти чисел, кратных 10.

let seqFirst5MultiplesOf10 = Seq.init 5 (fun n -> n * 10)
Seq.iter (fun elem -> printf "%d " elem) seqFirst5MultiplesOf10
  

Платформы

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

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

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

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

См. также

Ссылки

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

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