【发布时间】:2018-05-05 19:38:23
【问题描述】:
我有一系列验证函数想放入数组中执行:
type result = {D: int; E: int; F: int; G: int}
type InvalidReason =
| AAA
| BBB
| CCC
| DDD
| EEE
type Validation =
| Valid
| Invalid of InvalidReason
let validators = [|AAA; BBB; CCC; DDD; EEE|]
let validateStuff result =
validators
|> Array.map(fun v -> v result)
|> Array.contains(Validation.Invalid _)
问题在于最后一行代码。我得到一个“表达式中的意外值 _”。以下确实有效
|> Array.contains(Validation.Valid)
|> Array.contains(Validation.Invalid InvalidReason.AAA)
但我不想详细说明 InvalidReasons 的每个子类型。有没有我忽略的语法?
【问题讨论】:
标签: f#