type ProcessAttachmentResult = ValidAttachment | InvalidAttachment
let processAttachment (attachment : Attachment) =
if attachment.Name ="test.txt" then
printfn "%s valid"
ValidAttachment
else
printfn "%s invalid" attachment.Name
InvalidAttachment
// attachments is of type List<Attachment>
let processedAttachments = attachments |> List.map processAttachment
// ProcessAttachmentResult list
let emailContainsValidAttachments =
List.exists (fun r -> r = ValidAttachment) processedAttachments
match emailContainsValidAttachments with
| true -> move email toProcessedFolder
| _ -> move email toErrorFolder
Как я могу изменить два последних привязанных привязки и сопоставить одно привязку?Как я могу использовать List.exists после List.map без дополнительной привязки?
я попытался
attachments |> List.map processAttachment |> List.exists (fun r -> r = ValidAttachment)
, но это дает:
Это выражение, как ожидается, иметь тип
ProcessAttachmentResult list
но здесь имеет типbool
Ваш подход прекрасно. Вы переопределили «List.exists» или «List.map» где-нибудь? – pad