Seq.compareWith<'T> (Función de F#)
Compara dos secuencias elemento por elemento mediante la función de comparación especificada.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
Seq.compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int
// Usage:
Seq.compareWith comparer source1 source2
Parámetros
comparer
Tipo: 'T -> 'T -> intFunción que toma un elemento de cada secuencia y devuelve un valor de tipo int.Si se evalúa como un valor distinto de cero, se detiene la iteración y se devuelve dicho valor.
source1
Tipo: seq<'T>Primera secuencia de entrada.
source2
Tipo: seq<'T>Segunda secuencia de entrada.
Excepciones
Excepción |
Condition |
---|---|
Se produce cuando cualquiera de las secuencias de entrada es NULL. |
Valor devuelto
Devuelve el primer resultado distinto de cero de la función de comparación.Cuando se alcanza el final de una secuencia, se devuelve -1 si la primera secuencia es más corta; se devuelve 1, si la segunda secuencia es más corta.
Comentarios
Esta función se denomina CompareWith en los ensamblados compilados.Si obtiene acceso a la función desde un lenguaje .NET distinto de F# o mediante reflexión, use este nombre.
Ejemplo
El ejemplo siguiente muestra el uso de Seq.compareWith para comparar dos secuencias utilizando una función de comparación personalizada.
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.")
Plataformas
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Información de versiones
Versiones de la biblioteca básica de F#
Se admite en: 2.0, 4.0, portables