Sdílet prostřednictvím


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

Vrátí nové události, která se skládá z výsledků použití dané accumulating funkce spuštěná při vstupní události po sobě následujících hodnot.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Control.Event

Sestavení: FSharp.Core (v 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

    Funkce Aktualizovat stav hodnoty jednotlivých událostí.

  • state
    Typ:'U

    Počáteční stav.

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

    Vstupní události.

Vrácená hodnota

Události, které na stavu aktualizované hodnoty.

Poznámky

Položky vnitřního stavu záznamy aktuální hodnotu parametru státu.Vnitřní stav není uzamčena během provádění funkce hromadění tak péče by měla být přijata, vstupní IEvent není spuštěna současně více podprocesů.

Tato funkce se nazývá Scan v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující příklad kódu ukazuje, jak použít Event.scan funkce.Tento kód implementuje Čítač jednoduchým klepnutím.Pokaždé, když uživatel klepne na formuláři, státu zvýší o 1 a text ve formuláři se změní podle nového stavu.

// 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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Control.Event modul (F#)

Obor názvů Microsoft.FSharp.Control (F#)