gpt4 book ai didi

f# - 我在 F# 中分块列表时做错了什么

转载 作者:行者123 更新时间:2023-12-05 01:37:25 24 4
gpt4 key购买 nike

F# 对我来说并不容易。下面的一段代码应该对一个列表进行分块。我不知道问题出在哪里。请帮忙。

let chunk items chunkSize =
let folder = fun state x ->
match state with (reversedResult, reversedChunk) ->
if reversedChunk.Length < chunkSize then
(reversedResult, x::reversedChunk)
else
((reversedChunk |> List.rev)::reversedResult, [x])
let alsmostDone = items |> List.fold folder ([], [])
match alsmostDone with
| (reversedResult, []) -> reversedResult |> List.rev
| (reversedResult, lastReversedChunk) -> (lastReversedChunk |> List.rev)::reversedResult |> List.rev

enter image description here

最佳答案

我认为使用 List.length 更“惯用”f#。然后你不需要任何类型注释。所以:

...
if List.length reversedChunk < chunkSize then
...

关于f# - 我在 F# 中分块列表时做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com