Partager via


Seq.findIndex<'T>, fonction (F#)

Retourne l'index du premier élément pour lequel la fonction donnée retourne la valeur true.

Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq

Assembly : FSharp.Core (in FSharp.Core.dll)

// Signature:
Seq.findIndex : ('T -> bool) -> seq<'T> -> int

// Usage:
Seq.findIndex predicate source

Paramètres

  • predicate
    Type : 'T -> bool

    Fonction permettant de tester si l'index d'un élément particulier doit être retourné.

  • source
    Type : seq<'T>

    Séquence d'entrée.

Exceptions

Exception

Condition

ArgumentNullException

Levée lorsque la séquence d'entrée a la valeur Null.

KeyNotFoundException

Levée si aucun élément ne retourne la valeur True en cas d'évaluation par le prédicat.

Valeur de retour

L'index du premier élément pour lequel la fonction donnée retourne la valeur true.

Notes

Cette fonction se nomme FindIndex 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

L'exemple de code suivant montre comment utiliser Seq.findIndex.

let seqA = [| 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 = Seq.find (fun elem -> isPerfectSquare elem && isPerfectCube elem) seqA
let index = Seq.findIndex (fun elem -> isPerfectSquare elem && isPerfectCube elem) seqA
printfn "The first element that is both a square and a cube is %d and its index is %d." element index

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

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