我是 F# 和 fp 的新手。我尝试使用可区分的联合类型作为参数过滤列表。在我的示例中,我希望所有具有 A 型的人。我该如何解决这个问题,或者这是一个不好的方法?
type U =
| A of AA
| B of BB
| C
and AA = {
Id: string
}
and BB = {
Id: string
}
let list = [ A { Id = "0" }; B { Id = "1" }; C; A { Id = "2"}]
let filter (union: U) = list |> List.filter(fun x -> x = union)
let resultOne = filter A //Error
let resultTow = filter C //Ok
谢谢你。