Seq.init<'T> Function (F#)
Collapse the table of content
Expand the table of content

Seq.init<'T> Function (F#)


Generates a new sequence which, when iterated, will return successive elements by calling the given function, up to the given count.

Namespace/Module Path: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (in FSharp.Core.dll)

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

// Usage:
Seq.init count initializer


Type: int

The maximum number of items to generate for the sequence.


Type: int -> 'T

A function that generates an item in the sequence from a given index.

Exception Condition




Thrown when count is negative.

The result sequence.

Each element is saved after its initialization. The function is passed the index of the item being generated.

This function is named Initialize in compiled assemblies. If you are accessing the function from a language other than F#, or through reflection, use this name.

The returned sequence may be passed between threads safely. However, individual IEnumerator values generated from the returned sequence should not be accessed concurrently.


The following example demonstrates the use of Seq.init to create a sequence of the first five multiples of 10.

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

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

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

© 2016 Microsoft