В последних версиях появились операции, порождающие из обычной последовательности “последовательности последовательностей” или разбивающие её на несколько последовательностей. Возник вопрос: как эффективно “собрать назад” такие конструкции?
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
var a:=Range(0,11); // Sequence of integer (по Intellisence)
Writeln(a); // [0,1,2,3,4,5,6,7,8,9,10,11]
var b:=a.SplitAt(4); // System.Tuple<integer>
Writeln(b); // ([0,1,2,3],[4,5,6,7,8,9,10,11])
var b1:=b.Item1+b.Item2; // integer - ОШИБКА Intellisence?
Writeln(b1); // [0,1,2,3,4,5,6,7,8,9,10,11]
var c:=a.Batch(4); // Sequence of integer
Writeln(c); // [[0,1,2,3],[4,5,6,7],[8,9,10,11]]
// как все это собрать "назад" в исходную последовательность?
end.