-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
Just like Seq.chunkBySize
. Possible implementation:
let chunkBySize (chunkSize : int) (source: AsyncSeq<'a>) =
asyncSeq {
use enumerator = source.GetEnumerator()
let mutable isFinished = false
while not isFinished do
let chunk = ResizeArray<'a>(chunkSize)
while chunk.Count < chunkSize && not isFinished do
match! enumerator.MoveNext() with
| Some item -> chunk.Add(item)
| None -> isFinished <- true
if chunk.Count > 0 then
yield chunk.ToArray()
}
Metadata
Metadata
Assignees
Labels
No labels