可以说我有一个像这样的歧视性工会:
type Example =
|Foo of string
|Bar of int
|Baz of int
|Qux of int
|NoValue
是否有任何简洁的方法来完成以下功能而不指定所有剩余的情况
let doIt (ex:Example) =
match ex with
| Foo(_) -> 0
| NoValue -> -1
这样该模式将通常以相同的方式处理剩余的类似结构的联合案例。在示例代码中,这将意味着 Bar、Baz 和 Qux 的单个 case 语句,其行为如下。
| Bar(i) -> i
我在语言参考中没有看到任何允许这种类型匹配的内容,但我很好奇它是否可能。