Sdílet prostřednictvím


SEQ.findIndex, <'T> Funkce (F#)

Vrátí index prvního prvku, pro které dané funkce vrátí true.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq

Sestavení: FSharp.Core (v FSharp.Core.dll)

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

// Usage:
Seq.findIndex predicate source

Parametry

  • predicate
    Type: 'T ->bool

    Funkce otestovat, zda by měla být vrácena index určitého prvku.

  • source
    Typ: SEQ.<'T>

    Vstupní sekvence.

Výjimky

Výjimka

Podmínka

ArgumentNullException

Vyvolána při vstupní posloupnost je null

KeyNotFoundException

Když žádný prvek vrátí hodnotu true, když zhodnotil predikátu

Vrácená hodnota

První prvek, pro který dané funkce vrátí index true.

Poznámky

Tato funkce se nazývá FindIndex v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující příklad kódu ukazuje, jak použít 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

Výsledek

  

Platformy

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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.SEQ modul (F#)

Obor názvů Microsoft.FSharp.Collections (F#)