Секционированная функция
Полное имя: Std.Arrays.Partitioned
function Partitioned<'T>(partitionSizes : Int[], array : 'T[]) : 'T[][]
Сводка
Разбивает массив на несколько частей.
Ввод
partitionSizes
Количество элементов в каждой разделенной части массива.
массив
Входной массив для разделения.
Выпуск
Несколько массивов, где первый массив является первым partitionSizes[0]
array
, а второй — следующим partitionSizes[1]
array
и т. д. Последний массив будет содержать все оставшиеся элементы. Если массив разделен точно, последний массив будет пустым массивом, что указывает на отсутствие оставшихся элементов.
Другими словами, Tail(Partitioned(...))
всегда возвращают остальные элементы, а Most(Partitioned(...))
всегда возвращают полные секции массива.
Пример
// 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]);