如何创建一个函数来检查被歧视联合的标签是否匹配?

How to make a function which checks, if the labels of discriminated unions match?

假设我们在 F# 中有一个联合类型:

type Example =
    |FirstLabel of int
    |SecondLabel of int
    |ThirdLabel of int

你如何创建一个函数,它接受类型为 "Example" 和 return 的 2 个参数,如果这两个参数共享相同的标签,否则 returns 为 false ?我希望这个函数 return 这些结果,而不考虑整数的值。

所以如果我们有 parameter1 和 parameter2

val parameter1 : Example = SecondLabel 2

val parameter2 : Example = Secondlabel 5

函数会 return true

即使彻底搜索,我也找不到这个问题的答案。也许我搜索错误。那么你能不能也给我一个解决这些问题的资源?

let sameLabels x y = 
    match x, y with
    | FirstLabel _ , FirstLabel _
    | SecondLabel _, SecondLabel _
    | ThirdLabel _ , ThirdLabel _  -> true
    | _ -> false