Seq.compareWith<'T> İşlevi (F#)
Verilen karşılaştırma işlevini kullanarak iki diziyi eleman eleman karşılaştırır.
Ad alanı/modül yol: Microsoft.FSharp.Collections.Seq
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
Seq.compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int
// Usage:
Seq.compareWith comparer source1 source2
Parametreler
comparer
Type: 'T -> 'T -> intHer diziden bir öğe alıp, int döndüren işlev. Sıfır olmayan yineleme değerlendirilirse durdurulur ve o değer döndürülür.
source1
Türü: seq<'T>İlk giriş dizisi.
source2
Türü: seq<'T>İkinci giriş dizisi.
Özel Durumlar
Özel Durum |
Koşul |
---|---|
Giriş dizilerinden herhangi biri boş olduğu zaman oluşturulur. |
Dönüş Değeri
Karşılaştırma işlevinden sıfır olmayan ilk sonucu döner. Dizinin sonuna ulaşıldığında eğer birinci dizi daha kısa ise -1, ikinci dizi daha kısa ise 1 döner.
Notlar
Bu işlev adlı CompareWith kodları derlenmiş derlemeleri. İşlev .net Dili dışındaki F# veya yansıtma üzerinden erişiyorsanız, bu adı kullanın.
Örnek
Aşağıdaki örnek kullanımını göstermektedir Seq.compareWith özel karşılaştırma işlevini kullanarak iki dizileri karşılaştırmak için.
let sequence1 = seq { 1 .. 10 }
let sequence2 = seq { 10 .. -1 .. 1 }
// Compare two sequences element by element.
let compareSequences = Seq.compareWith (fun elem1 elem2 ->
if elem1 > elem2 then 1
elif elem1 < elem2 then -1
else 0)
let compareResult1 = compareSequences sequence1 sequence2
match compareResult1 with
| 1 -> printfn "Sequence1 is greater than sequence2."
| -1 -> printfn "Sequence1 is less than sequence2."
| 0 -> printfn "Sequence1 is equal to sequence2."
| _ -> failwith("Invalid comparison result.")
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