SEQ.compareWith <'T>. Função (F#)
Compara duas seqüências usando a função determinada de comparação, elemento do elemento.
Namespace/Module Path: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (em 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 ->intUma função que recebe um elemento de cada seqüência e retorna um int.Se for avaliada como uma iteração de valor diferente de zero é interrompida e esse valor é retornado.
source1
Tipo: seq<'T>a primeira seqüência de entrada.
source2
Tipo: seq<'T>a segunda seqüência de entrada.
Exceções
Exceção |
Condição |
---|---|
Gerado quando uma das seqüências de entrada seja nulo. |
Valor de retorno
Retorna o primeiro resultado diferente de zero da função de comparação.Se o final de uma seqüência for atingido A-1 retorna se a primeira seqüência é mais curto e um 1 se a segunda seqüência é mais curta.
Comentários
Essa função é chamada CompareWith em assemblies compilados.Se você está acessando a função de uma linguagem .NET a não ser F#, ou com a reflexão, use este nome.
Exemplo
O exemplo a seguir demonstra o uso de Seq.compareWith comparar duas seqüências usando uma função personalizada de comparação.
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
O windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informações de Versão
Versões da biblioteca principal de F#
Suportado em: 2,0, 4,0, portáteis