List.findIndex<'T>, fonction (F#)
Retourne l'index du premier élément de la liste qui répond au prédicat donné. En l'absence d'élément de ce type, lève KeyNotFoundException.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.List
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
List.findIndex : ('T -> bool) -> 'T list -> int
// Usage:
List.findIndex predicate list
Paramètres
predicate
Type : 'T -> boolFonction permettant de tester les éléments d'entrée.
list
Type : 'T listListe d'entrée.
Exceptions
Exception |
Condition |
---|---|
Levée si le prédicat a la valeur false pour tous les éléments de la liste. |
Valeur de retour
Index du premier élément qui répond au prédicat.
Notes
Cette fonction se nomme FindIndex 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.findIndex et compare le comportement à celui de List.find.
let list1 = [ 2 .. 100 ]
let delta = 1.0e-10
let isPerfectSquare (x:int) =
let y = sqrt (float x)
abs(y - round y) < delta
let isPerfectCube (x:int) =
let y = System.Math.Pow(float x, 1.0/3.0)
abs(y - round y) < delta
let element = List.find (fun elem -> isPerfectSquare elem && isPerfectCube elem) list1
let index = List.findIndex (fun elem -> isPerfectSquare elem && isPerfectCube elem) list1
printfn "The first element that is both a square and a cube is %d and its index is %d." element index
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
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. |