Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Funzione Seq.fold<'T,'State> (F#)

Applica una funzione a ogni elemento della raccolta, eseguendo il threading di un argomento di accumulatore attraverso il calcolo. Se la funzione di input è f e gli elementi sono i0...iN, tale funzione calcola f (... (f s i0)...) iN.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq

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

// Signature:
Seq.fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State

// Usage:
Seq.fold folder state source

folder

Tipo: 'State -> 'T -> 'State

Funzione che aggiorna lo stato con ogni elemento dalla sequenza.

state

Tipo: 'State

Stato iniziale.

source

Tipo: seq<'T>

Sequenza di input.

Exception

Condizione

ArgumentNullException

Generata se la sequenza di input è Null.

Risultato finale del calcolo.

Questa funzione è denominata Fold negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

Nel codice seguente viene illustrato come utilizzare Seq.fold per implementare una funzione che calcoli la somma degli elementi di una sequenza.


let sumSeq sequence1 = Seq.fold (fun acc elem -> acc + elem) 0 sequence1
Seq.init 10 (fun index -> index * index)
|> sumSeq
|> printfn "The sum of the elements is %d."


Output

            
              La somma degli elementi è 285.

            
          

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

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft