Aracılığıyla paylaş


Seq.findIndex<'T> İşlevi (F#)

Verilen işlevin true döndüğü ilk öğenin dizinini döner.

Ad alanı/modül yol: Microsoft.FSharp.Collections.Seq

Derleme: FSharp.Core (FSharp.Core.dll),

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

// Usage:
Seq.findIndex predicate source

Parametreler

  • predicate
    Type: 'T ->bool

    Belirli bir öğenin dizininin döndürüp döndürülmemesi gerektiğini test etmek için bir işlev.

  • source
    Türü: seq<'T>

    Giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentNullException

Giriş dizisi boş olduğunda oluşturulur.

KeyNotFoundException

Karşılaştırma belirtimi değerlendirildiğinde hiçbir öğe true dönmezse oluşturulur.

Dönüş Değeri

Kendisi için belirli bir işlev verir ilk öğenin endeksini true.

Notlar

Bu işlev adlı FindIndex kodları derlenmiş derlemeleri.İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki kod örneği nasıl kullanılacağını gösteren 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

Çıktı

  

Platformlar

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

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)