SEQ.compareWith, <'T> Funkce (F#)
Porovná dvě sekvence pomocí funkce porovnání daný element po elementu.
Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq
Sestavení: FSharp.Core (v FSharp.Core.dll)
// Signature:
Seq.compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int
// Usage:
Seq.compareWith comparer source1 source2
Parametry
comparer
Type: 'T -> 'T -> intFunkce, která využívá prvek z každé řady a vrátí int.Pokud je vyhodnocen jako nenulová hodnota iterace zastavena a daná hodnota vrácena.
source1
Typ: SEQ.<'T>První vstupní sekvence.
source2
Typ: SEQ.<'T>Druhý vstupní sekvence.
Výjimky
Výjimka |
Podmínka |
---|---|
Při vyvolání buď vstupní sekvence je null. |
Vrácená hodnota
Vrátí první nenulový výsledek funkce porovnání.Pokud je dosaženo konce sekvence vrátí -1, pokud je první sekvence kratší a 1 Pokud druhá řada je kratší.
Poznámky
Tato funkce se nazývá CompareWith v kompilovaný sestavení.Pokud přistupujete k funkci .net jazyku než F# nebo prostřednictvím reflexe, tento název použijte.
Příklad
Následující příklad ukazuje použití Seq.compareWith k porovnání dvou řad pomocí porovnání vlastní funkce.
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.")
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é