Seq.groupBy < T','Key > Função (F#)
Aplica-se a uma função de geração de chave a cada elemento de uma seqüência e gera uma seqüência de teclas exclusivas e uma seqüência de todos os elementos que possuem cada chave.
Caminho do namespace/módulo: Microsoft.FSharp.Collections.seq
Assembly: FSharp.Core (em FSharp.Core.dll)
// Signature:
Seq.groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>> (requires equality)
// Usage:
Seq.groupBy projection source
Parâmetros
projection
Tipo: 'T -> 'KeyUma função que transforma a um elemento da seqüência em uma chave comparável.
source
Tipo: SEQ<'T>A seqüência de entrada.
Valor de retorno
Uma seqüência de tuplas, onde cada tupla contém a chave exclusiva e uma seqüência de todos os elementos que corresponde à chave.
Comentários
Esta função retorna uma seqüência que atravessa a seqüência inicial de inteiros como essa seqüência é iterada. Como resultado dessa função não deve ser usada com seqüências de grandes ou infinitas. A função não faz nenhuma suposição sobre a ordenação da seqüência original.
Esta função é chamada de GroupBy em módulos (assemblies) compilados. Se você estiver acessando a função de um idioma diferente, por exemplo, F# ou através de reflexão, use esse nome.
Exemplo
O exemplo a seguir demonstra o uso de Seq.groupBy para agrupar a ímpar e par de números em uma seqüência em duas seqüências separadas.
let sequence = seq { 1 .. 100 }
let printSeq seq1 = Seq.iter (printf "%A ") seq1; printfn ""
let sequences3 = Seq.groupBy (fun index ->
if (index % 2 = 0) then 0 else 1) sequence
sequences3 |> printSeq
Plataformas
O Windows 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informações sobre versão
O tempo de execução F#
Compatível com: 2.0, 4.0
Silverlight
Compatível com: 3