Есть ли способ сравнить размеченные союзы по их идентификаторам регистра в F#?
type MyUnion =
| MyString of string
| MyInt of int
let x = MyString("hello")
let y = MyString("bye")
let z = MyInt(25)
let compareCases a b =
// compareCases x y = true
// compareCases x z = false
// compareCases y z = false
Как мне реализовать функцию compareCases
общим способом?
т.е. что-то вроде следующего, но более общего (отражение в порядке):
let compareCases a b =
match a with
| MyString(_) -> match b with | MyString(_) -> true | _ -> false
| MyInt(_) -> match b with | MyInt(_) -> true | _ -> false
Tag
было поддерживаемым открытым свойством, это был бы очень эффективный и простой способ сделать это. - person ildjarn   schedule 22.05.2014