Partilhar via


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]);