.Batch cleanup (#3108)
This commit is contained in:
parent
b5e674c311
commit
1ec4204fd2
|
|
@ -11352,9 +11352,9 @@ begin
|
|||
end;
|
||||
|
||||
/// Разбивает последовательность на серии длины size
|
||||
function Batch<T>(Self: sequence of T; size: integer): sequence of sequence of T; extensionmethod;
|
||||
function Batch<T>(Self: sequence of T; size: integer): sequence of array of T; extensionmethod;
|
||||
begin
|
||||
var buf := new List<T>;
|
||||
var buf := new List<T>(size);
|
||||
foreach var elm in Self do begin
|
||||
buf.Add(elm);
|
||||
if buf.Count=size then begin
|
||||
|
|
@ -11368,10 +11368,10 @@ begin
|
|||
end;
|
||||
|
||||
/// Разбивает последовательность на серии длины size и применяет проекцию к каждой серии
|
||||
function Batch<T, Res>(Self: sequence of T; size: integer; proj: Func<IEnumerable<T>, Res>): sequence of Res; extensionmethod;
|
||||
function Batch<T, Res>(Self: sequence of T; size: integer; proj: Func<array of T, Res>): sequence of Res; extensionmethod;
|
||||
begin
|
||||
//Result := SeqWhile(Self, v -> v.Skip(size), v -> v.Count > 0).Select(v -> v.Take(size)).Select(ss -> proj(ss));
|
||||
Result := Self.Batch(size).Select(ss -> proj(ss));
|
||||
Result := Self.Batch(size).Select(proj);
|
||||
end;
|
||||
|
||||
///--
|
||||
|
|
|
|||
Loading…
Reference in a new issue