具有如下自定义变体类型:
type yolo =
| A of string
| B of yolo
| C of yolo * yolo
| D of yolo * yolo
我还有一个函数可以对yolo
类似于此的实例执行一些操作:
let rec swag y =
match y with
| A _ -> 1
| B _ -> 2
| C (left,right) -> (swag left) + (swag right)
| D (left,right) -> (swag left) + (swag right)
由于 caseC
和的操作D
完全相同,我想将它们合并,这可能吗?