Observable.scan<'U,'T> Function (F#)

Returns an observable which, for each observer, allocates an item of state and applies the given accumulating function to successive values arising from the input. The returned object will trigger observations for each computed state value, excluding the initial value. The returned object propagates all errors arising from the source and completes when the source completes.

Namespace/Module Path: Microsoft.FSharp.Control.Observable

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

// Signature:
Observable.scan : ('U -> 'T -> 'U) -> 'U -> IObservable<'T> -> IObservable<'U>

// Usage:
Observable.scan collector state source

Parameters

  • collector
    Type: 'U -> 'T -> 'U

    The function to update the state with each observation.

  • state
    Type: 'U

    The initial state.

  • source
    Type: IObservable<'T>

    The input Observable.

Return Value

An observable that triggers on the updated state values.

Remarks

For each observer, the registered intermediate observing object is not thread safe. That is, observations arising from the source must not be triggered concurrently on different threads.

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

Platforms

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Version Information

F# Runtime

Supported in: 2.0, 4.0

Silverlight

Supported in: 3

See Also

Reference

Control.Observable Module (F#)

Microsoft.FSharp.Control Namespace (F#)