【发布时间】:2013-06-27 22:16:20
【问题描述】:
假设我有一个像这样的歧视性工会:
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
我在语言参考中没有看到任何允许这种类型匹配的内容,但我很好奇它是否可能。
【问题讨论】:
标签: .net f# pattern-matching