Пусть это типы =Как применить функцию к варианту?
type intC = int;;
type boolC = bool;
type stringC = string;;
type component = A of intC | B of boolC | C of stringC;;
Если я хочу, чтобы применить функцию типа А компонента А, мне нужно систематически деконструировать компонент?
для Exemple сделать я должен сделать:
let add comp =
match comp with
| A i -> Some (i + 2) (*only A interests me, I return i + 2*)
| _ -> None (*otherwise I return nothing*)
, а затем для любой функции на компоненте А? Есть ли смысл избегать избыточности?
Я вижу; это стандартный способ справиться с этой проблемой? Можно ли сделать его еще более общим с модулями? – codablank1
Это зависит от того, что представляют данные. Мне никогда не приходилось делать что-то подобное и разрушало бы все элементы, но я также не собирался слишком долго деконструироваться и имел бы соответствующие случаи для 'B' и' C'. – nlucaroni