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 Array.scan<'T,'State> (F#)

Analogo a Array.fold, ma restituisce i risultati intermedi e quelli finali.

Percorso di spazio dei nomi/modulo: Microsoft.FSharp.Collections.Array

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

// Signature:
Array.scan : ('State -> 'T -> 'State) -> 'State -> 'T [] -> 'State []

// Usage:
Array.scan folder state array

folder

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

Funzione da utilizzare per aggiornare lo stato in base agli elementi di input.

state

Tipo: 'State

Stato iniziale.

array

Tipo: 'T[]

Matrice di input.

Matrice di valori di stato.

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

Nel codice riportato di seguito viene illustrato l'utilizzo di Array.scan.


let initialBalance = 1122.73
let transactions = [| -100.00; +450.34; -62.34; -127.00; -13.50; -12.92 |]
let balances =
    Array.scan (fun balance transactionAmount -> balance + transactionAmount) initialBalance transactions
printfn "Initial balance:\n $%10.2f" initialBalance
printfn "Transaction   Balance"
for i in 0 .. Array.length transactions - 1 do
    printfn "$%10.2f $%10.2f" transactions.[i] balances.[i]
printfn "Final balance:\n $%10.2f" balances.[ Array.length balances - 1]


Output

            
              Bilanciamento iniziale: $ 1122,73 delle transazioni di bilancio finale di $ -100,00 $ 1122,73 $ 450,34 $ 1022,73 $ -62,34 $ 1473,07 $ -127,00 $ 1410,73 $ -13,50 $ 1283,73 $ -12,92 $ bilanciare 1270,23: $ 1257,31

            
          

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