lasciate che questo tipo =Come applicare una funzione a una variante?
type intC = int;;
type boolC = bool;
type stringC = string;;
type component = A of intC | B of boolC | C of stringC;;
Se voglio applicare una funzione del tipo di una di un componente A, devo sistematicamente di decostruire la componente?
per exemple devo fare:
let add comp =
match comp with
| A i -> Some (i + 2) (*only A interests me, I return i + 2*)
| _ -> None (*otherwise I return nothing*)
e quindi per qualsiasi funzione su un componente A? C'è qualche mezzo per evitare la tua ridondanza?
Vedo; è un modo standard per gestire questo problema? Sarebbe possibile renderlo ancora più generico con i moduli? – codablank1
Dipende da ciò che i dati rappresentano. Non ho mai avuto bisogno di fare qualcosa del genere e avrei distrutto tutti gli elementi, ma anch'io non avrei decostruito troppo spesso, e avrei avuto casi appropriati per 'B' e' C'. – nlucaroni