Trong Haskell, nếu tôi có một danh sách các công đoàn gõ giá trị như thế này:Làm thế nào để mô hình phù hợp về nhà xây dựng công đoàn trong `cho .. in`
example :: [Either Int Char]
example = [Left 3, Right 'b', Left 6, Left 9, Right 'c']
tôi có thể sử dụng một chút "lừa" để trích xuất tất cả kết quả phù hợp với một số mô hình cụ thể:
lefts :: [Int]
lefts = [l | Left l <- example]
Tuy nhiên, nếu tôi cố gắng dịch này để F #, tôi nhận được một lỗi:
let lefts = [for Choice1Of2 l in example -> l]
~~~~~~~~~~~~
Incomplete pattern matches on this expression. (...)
này làm cho rất nhiều ý nghĩa (nó thậm chí có thể là hành vi tốt hơn âm thầm bỏ qua các giá trị Right
như Haskell!), nhưng trong F #, có một số cách thuận tiện để trích xuất (và khớp) tất cả các giá trị khớp với một mẫu nhất định trong danh sách/trình tự?