|
|
1
3
组合错误类型是一个问题
然而,我发现这很不吸引人,而且通常会陷入一种模式,在这种模式中,我定义了自己的结果类型,允许同类类型的聚合失败。 有点像这样
另一种方法可以是合并
这可能对你一点帮助都没有,但也许它会产生一些关于如何继续的想法? |
|
|
2
3
首先简单明了的回答。我稍后会回来再回答。 如果您正在构建单片应用程序,建议只为整个应用程序创建一种错误类型:
有时这是不可能的,例如,如果您的代码是模块化的,并且每个模块都有自己的ErrorType,那么您有两个选项,仍然创建一个唯一的类型并映射到它,或者像您那样创建一个嵌套的、组合的类型。这是你的决定。在这两种情况下,您都使用
从语法上讲,有很多方法可以做到这一点。要避免嵌套
如果你有一个
那么它看起来是这样的:
操作员:
可能是这样的:
甚至这个:
好的,最后一个只是为了好玩。我不是在提倡你编写这样的代码。
并使用Kleisli运算符将其绑定:
|
|
|
Thomas · 使类型别名在F中不可互换# 4 年前 |
|
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 8 年前 |
|
|
Soldalma · 我可以实例化包含顶级副作用值的类吗? 8 年前 |
|
|
matekus · F#-包含数字的字符串的自然排序 8 年前 |
|
|
matekus · F#类型匹配-无法创建映射或匹配记录 8 年前 |
|
|
Rob Lyndon · 未找到F#ProvidedTypes文件 8 年前 |
|
|
red-swan · 如何将intro ML.Net演示翻译为F#? 8 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 8 年前 |