F # ułatwia zdefiniowanie typów, takich jakJak zrobić walidację argument F # zapisów
type coords = { X : float; Y : float }
ale w jaki sposób zdefiniować ograniczeń/check argumenty konstruktora bez wchodzenia składni definicji klasy bardziej opisowym? Na przykład. jeśli chcę, aby współrzędne zaczynały się od (0,0) lub generowały wyjątek.
Co więcej, jeśli zmienię moją definicję na klasę, muszę zaimplementować Equals() itd. Wszystkie kody płyty kotła, których nie chcę (i które mam w C#, które próbuję uciec) .
możliwy duplikat [Czy możliwe jest wyegzekwowanie, że rekord respektuje niektóre niezmienniki?] (Http://stackoverflow.com/questions/13925361/is-it-possible-to-enforce-at-a-record-respects -some-invariants) –
To jest duplikat drugiego pytania. Głosuj, aby zamknąć. –