可以使用模式匹配来从判别式联合中提取/解封预期用例的类型化值。以下是一个示例:
type MyUnion =
| A of int
| B of string
let myValue = A 42
let extractedValue =
match myValue with
| A value -> value
| B _ -> failwith "Not an A value"
在上面的示例中,使用类型化的“myValue”创造了一个MyUnion实例值。然后,模式匹配“match”语句首先检查是否为类型化的A值。如果是,就提取出给定的值并赋予“value”变量。如果是B类型的值,则使用“failwith”函数生成一个异常,因为它不是A类型的值。
使用这种方法可以安全地提取/解封判别式联合中的预期用例的类型化值。