Niech to typy =Jak zastosować funkcję do wariantu?
type intC = int;;
type boolC = bool;
type stringC = string;;
type component = A of intC | B of boolC | C of stringC;;
Jeśli chcesz zastosować funkcję typu a komponentu A, muszę systematycznie dekonstrukcji komponentu?
dla exemple zrobić mam zrobić:
let add comp =
match comp with
| A i -> Some (i + 2) (*only A interests me, I return i + 2*)
| _ -> None (*otherwise I return nothing*)
a następnie dla każdej funkcji na składnik A? Czy istnieje jakiś sposób na uniknięcie twojego zwolnienia?
Widzę; czy jest to standardowy sposób radzenia sobie z tym problemem? Czy możliwe byłoby uczynienie go jeszcze bardziej ogólnym za pomocą modułów? – codablank1
To zależy od tego, co dane reprezentują. Nigdy nie musiałem robić czegoś takiego i zniszczyłem wszystkie elementy, ale zbyt często nie dekonstruowałem i miałem odpowiednie przypadki dla "B" i "C". – nlucaroni