gpt4 book ai didi

f# - 如果列表为空,如何修复 List.head 中的异常 hell

转载 作者:行者123 更新时间:2023-12-04 02:21:34 25 4
gpt4 key购买 nike

我需要将列表的头部传递给 List.fold。如果 departments 为空,则处理以下情况的 ArgumentException 的功能解决方案是什么。

let result = employees 
|> List.fold (...) (List.head departments)

在这里,部门是一个列表。为了清楚起见,我没有在此处指定折叠功能。

编写匹配模式会使我的代码变得笨拙。

最佳答案

您需要检查 departments 列表并提供默认值(如果它为空)。您可以为此提供辅助函数:

let headOrDefault def d =
match d with
| [] -> def
| _ -> List.head d

你可以这样使用:

let result = 
employees
|> List.fold (...) (headOrDefault defDep departments)

关于f# - 如果列表为空,如何修复 List.head 中的异常 hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569741/

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