List.scan<'T,'State>, fonction (F#)
Applique une fonction à chaque élément de la collection, en créant ainsi un thread d'un argument d'accumulation par l'intermédiaire du calcul. Cette fonction prend le second argument et applique la fonction spécifiée à celui-ci ainsi qu'au premier élément de la liste. Placez ensuite ce résultat dans la fonction avec le deuxième élément et ainsi de suite. Enfin, elle retourne la liste des résultats intermédiaires et le résultat final.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.List
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
List.scan : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State list
// Usage:
List.scan folder state list
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.
list
Type : 'T listListe d'entrée.
Valeur de retour
Liste des états.
Notes
Cette fonction se nomme Scan dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage .NET autre que F# ou par réflexion, utilisez ce nom.
Exemple
Le code suivant montre comment utiliser List.scan :
let initialBalance = 1122.73
let transactions = [ -100.00; +450.34; -62.34; -127.00; -13.50; -12.92 ]
let balances =
List.scan (fun balance transactionAmount -> balance + transactionAmount)
initialBalance transactions
printfn "Initial balance:\n $%10.2f" initialBalance
printfn "Transaction Balance"
for i in 0 .. List.length transactions - 1 do
printfn "$%10.2f $%10.2f" transactions.[i] balances.[i]
printfn "Final balance:\n $%10.2f" balances.[ List.length balances - 1]
Sortie
Plateformes
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informations de version
Versions de bibliothèque principale F#
Prise en charge dans : 2,0, 4,0, portables