dejar que este tipo =¿Cómo aplicar una función a una variante?
type intC = int;;
type boolC = bool;
type stringC = string;;
type component = A of intC | B of boolC | C of stringC;;
Si quiero aplicar una función del tipo A de un componente A, ¿necesito sistemática de deconstruir el componente?
para exemple hacer lo que tengo que hacer:
let add comp =
match comp with
| A i -> Some (i + 2) (*only A interests me, I return i + 2*)
| _ -> None (*otherwise I return nothing*)
y luego para cualquier función en un componente A? ¿Hay alguna forma de evitar tu redundancia?
Veo; ¿Es una forma estándar de manejar este problema? ¿Sería posible hacerlo aún más genérico con módulos? – codablank1
Depende de lo que representan los datos. Nunca tuve que hacer algo como esto y destruiría todos los elementos, pero tampoco estaría deconstruyendo demasiado a menudo, y tendría casos apropiados para 'B' y' C'. – nlucaroni