Seq.findIndex<'T>-Funktion (F#)
Aktualisiert: August 2010
Gibt den Index des ersten Elements zurück, für das die angegebene Funktion true zurückgibt.
Namespace/Modulpfad: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.findIndex : ('T -> bool) -> seq<'T> -> int
// Usage:
Seq.findIndex predicate source
Parameter
predicate
Typ: 'T -> boolEine Funktion, die überprüft, ob der Index eines bestimmten Elements zurückgegeben werden soll.
source
Typ: seq<'T>Die Eingabesequenz.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Wird ausgelöst, wenn die Eingabesequenz NULL ist. |
|
Wird ausgelöst, wenn kein Element bei der Auswertung durch das Prädikat true zurückgibt. |
Rückgabewert
Der Index des ersten Elements, für das die angegebene Funktion true zurückgibt.
Hinweise
Der Name dieser Funktion in kompilierten Assemblys lautet FindIndex. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.
Beispiel
Im folgenden Codebeispiel wird die Verwendung von Seq.findIndex veranschaulicht.
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
Output
Plattformen
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Versionsinformationen
F#-Runtime
Unterstützt in: 2.0, 4.0
Silverlight
Unterstützt in: 3
Siehe auch
Weitere Ressourcen
Microsoft.FSharp.Collections-Namespace (F#)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
August 2010 |
Codebeispiel hinzugefügt. |
Informationsergänzung. |