Как применить функцию к варианту?

Пусть это типы =

type intC = int;;
type boolC = bool;
type stringC = string;;

type component = A of intC | B of boolC | C of stringC;;

Если я хочу применить функцию к типу а компонента А, нужно ли мне систематически разобрать компонент?

например, я должен сделать :

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? Есть ли способ избежать твоей избыточности?

5
задан codablank1 26 April 2012 в 16:57
поделиться