Udostępnij za pośrednictwem


Event.Scan <'U, t,'Del > Funkcja (F#)

Zwraca nowe zdarzenie, która składa się z wyników stosowania danej funkcji kumulowanych do kolejnych wartości Wyzwolone zdarzenie wejściowe.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Control.Event

Zestaw: FSharp.Core (w FSharp.Core.dll)

// Signature:
Event.scan : ('U -> 'T -> 'U) -> 'U -> IEvent<'Del,'T> -> IEvent<'U> (requires delegate)

// Usage:
Event.scan collector state sourceEvent

Parametry

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

    Funkcja aktualizacji stanu wartości każdego zdarzenia.

  • state
    Typ:'U

    Stan początkowy.

  • sourceEvent
    Typ: IEvent<'Del,'T>

    Zdarzenie wejściowe.

Wartość zwracana

Zdarzenie pożary na Państwo zaktualizowane wartości.

Uwagi

Element stanu wewnętrznego rekordy bieżącej wartości parametru Państwo.Stan wewnętrzny nie jest zablokowana podczas wykonywania funkcji akumulacji tak opieki powinny być podjęte, że dane wejściowe IEvent nie wyzwolone przez wiele wątków jednocześnie.

Ta funkcja o nazwie Scan w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy przykład kodu pokazuje, jak używać Event.scan funkcji.Ten kod implementuje liczników kliknij proste.Przy każdym kliknięciu w formularzu, Państwo przyrostem 1 i tekstu w formularzu zostanie zmieniona nowego stanu.

// This code implements a simple click counter. Every time
// the user clicks the form, the state increments by 1
// and the form's text is changed to display the new state.

open System.Windows.Forms
open System.Drawing
open Microsoft.FSharp.Core

let form = new Form(Text = "F# Windows Form",
                    Visible = true,
                    TopMost = true)

let initialState = 0

form.Click
|> Event.scan (fun state _ -> state + 1) initialState
|> Event.add (fun state -> form.Text <- state.ToString() )

Platformy

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Moduł Control.Event (F#)

Obszar nazw Microsoft.FSharp.Control (F#)