我目前正在写一些F#。我创建了一个方法,它相当于Ruby的Enumerable#each_slice
方法,并且想知道某人是否有更好的(即更优雅,更简洁,更易读)解决方案。
这是:
let rec slicesBySize size list =
match list with
| [] -> [] // case needed for type inference
| list when list.Length < size -> [list]
| _ ->
let first = list |> Seq.take size |> List.ofSeq
let rest = list |> Seq.skip size |> List.ofSeq
[first] @ slicesBySize size rest
感谢您提供任何反馈/帮助。