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 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.List, module (F#)

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

Historique des modifications

Date

Historique

Motif

Août 2010

Ajout d'un exemple de code

Améliorations apportées aux informations.