Partager via


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 -> 'State

    Fonction permettant de mettre à jour l'état selon les éléments d'entrée.

  • state
    Type : 'State

    État initial.

  • list
    Type : 'T list

    Liste 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

Voir aussi

Référence

Collections.List, module (F#)

Microsoft.FSharp.Collections, espace de noms (F#)