Função particionada
Nome totalmente qualificado: Std.Arrays.Partitioned
function Partitioned<'T>(partitionSizes : Int[], array : 'T[]) : 'T[][]
Resumo
Divide uma matriz em várias partes.
Entrada
partitionSizes
Número de elementos em cada parte dividida da matriz.
matriz
Matriz de entrada a ser dividida.
Realização
Várias matrizes onde a primeira matriz é a primeira partitionSizes[0]
de array
e a segunda matriz são a próxima partitionSizes[1]
de array
etc. A última matriz conterá todos os elementos restantes. Se a matriz for dividida exatamente, a última matriz será a matriz vazia, indicando que não há elementos restantes.
Em outras palavras, Tail(Partitioned(...))
sempre retornará os elementos restantes, enquanto Most(Partitioned(...))
sempre retornará as partições completas da matriz.
Exemplo
// The following returns [[2, 3], [5], [7]];
let split = Partitioned([2, 1], [2, 3, 5, 7]);
// The following returns [[2, 3], [5, 7], []];
let split = Partitioned([2, 2], [2, 3, 5, 7]);