Aracılığıyla paylaş


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

Verilen karşılaştırma belirtimini sağlayan dizideki ilk öğenin dizinini döner. Raise KeyNotFoundException öğelerin hiçbiri yüklemi karşılamak durumunda.

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

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

// Signature:
Array.findIndex : ('T -> bool) -> 'T [] -> int

// Usage:
Array.findIndex predicate array

Parametreler

  • predicate
    Type: 'T -> bool

    Giriş öğelerini test etmek için kullanılan işlev.

  • array
    Type: 'T []

    Girdi dizisi.

Özel Durumlar

Özel Durum

Koşul

KeyNotFoundException

Thrown if predicate dönmek değil true herhangi bir öğe için.

Dönüş Değeri

Verilen karşılaştırma belirtimini sağlayan dizideki ilk öğenin dizini.

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 örnek kullanımını göstermektedir Array.find ve Array.findIndex , kare ve bir küp 1'den büyük ilk tamsayı tanımlamak için.

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

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.Array Modülü (F#)

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

Array.find<'T> İşlevi (F#)