Udostępnij za pośrednictwem


Seq.findIndex<'T> — Funkcja (F#)

Zwraca indeks pierwszego elementu, dla którego dana funkcja zwraca true.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zgromadzenie: FSharp.Core (w FSharp.Core.dll)

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

// Usage:
Seq.findIndex predicate source

Parametry

  • predicate
    Type: 'T ->bool

    Funkcja do testowania, czy powinny być zwrócone indeks określonego elementu.

  • source
    Typ: seq<'T>

    Sekwencji wejściowych.

Wyjątki

Wyjątek

Warunek

ArgumentNullException

Zgłoszony podczas sekwencji wejściowych jest null

KeyNotFoundException

Gdy element nie zwraca wartość true, gdy oceniane przez predykat

Wartość zwracana

Indeks pierwszego elementu, dla którego dana funkcja zwraca true.

Uwagi

Ta funkcja o nazwie FindIndex w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Poniższy przykład kodu pokazuje, jak używać 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

Dane wyjściowe

  

Platformy

Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Collections.Seq — Moduł (F#)

Microsoft.FSharp.Collections — Przestrzeń nazw (F#)