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 -> 'UFunkce Aktualizovat stav hodnoty jednotlivých událostí.
state
Typ:'UPočá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é