Array.scan<'T,'State>, fonction (F#)
Comme Array.fold, mais retourne les résultats intermédiaires et finaux.
Espace de noms/Chemin du module : 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
Paramètres
folder
Type : 'State -> 'T -> 'StateFonction permettant de mettre à jour l'état selon les éléments d'entrée.
state
Type : 'StateÉtat initial.
array
Type : 'T []Tableau d'entrée.
Valeur de retour
Tableau de valeurs d'état.
Notes
Cette fonction se nomme Scan dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.
Exemple
Le code suivant illustre l'utilisation de 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]
Sortie
Plateformes
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3
Voir aussi
Référence
Collections.Array, module (F#)
Microsoft.FSharp.Collections, espace de noms (F#)
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Mai 2010 |
Ajout d'un exemple de code |
Améliorations apportées aux informations. |