2016-02-28 14 views
6

Hãy nói rằng chúng tôi đã có một uniontype trong F #:Làm cách nào để thực hiện chức năng kiểm tra, nếu nhãn của các công đoàn phân biệt đối xử?

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

Làm thế nào bạn có thể tạo một hàm, trong đó có 2 thông số của các loại "Ví dụ" và trả về true, nếu hai tham số chia sẻ cùng một nhãn và khác trả về sai? Tôi muốn hàm này trả về các kết quả này bất kể giá trị của các số nguyên.

Vì vậy, nếu chúng ta có argument1 và argument2 với

val parameter1 : Example = SecondLabel 2 

val parameter2 : Example = Secondlabel 5 

chức năng sẽ quay trở lại true

tôi không thể tìm ra câu trả lời cho câu hỏi này thậm chí bằng cách tìm kiếm kỹ lưỡng. Có lẽ tôi đã tìm kiếm sai. Vì vậy, bạn cũng có thể cho tôi một nguồn để giải quyết vấn đề như vậy?

Trả lời

7
let sameLabels x y = 
    match x, y with 
    | FirstLabel _ , FirstLabel _ 
    | SecondLabel _, SecondLabel _ 
    | ThirdLabel _ , ThirdLabel _ -> true 
    | _ -> false 
Các vấn đề liên quan