gpt4 book ai didi

ruby - FSharp 中 Ruby 的 Enumerable#each_slice 方法的等价物

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:18 27 4
gpt4 key购买 nike

我目前正在编写一些 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

感谢所有反馈/帮助。

最佳答案

您正在寻找 List.chunkBySize ,这是在 F# 4.0 中添加的。还有 SeqArray 变体。

关于ruby - FSharp 中 Ruby 的 Enumerable#each_slice 方法的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35751382/

27 4 0