Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let groupsOf (size: int) = Seq.map snd << Seq.filter (fst >> flip (%) size >> (=) 0) << Seq.mapi tuple2 << Seq.windowed size
- let groupsOfAtMost (size: int) (s: seq<_>) =
- seq {
- let en = s.GetEnumerator ()
- let more = ref true
- while !more do
- let group =
- [
- let i = ref 0
- while !i < size && en.MoveNext () do
- yield en.Current
- i := !i + 1
- ]
- if List.isEmpty group then
- more := false
- else
- yield group
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement