我的问题是受这个启发的:link
这是一个代码:
type A =
| X of int * int
| Y of string
let f (A.X(a, b)) = a + b
它有效,但有一个警告:
说得通; 我没有Y的对手。
但是如果我添加一行
let f (A.Y(s)) = 10
然后我得到一个错误:
有没有一种很好的方法来修复它并且仍然在函数参数中使用模式匹配?如果不是,那他们为什么要创建这种奇怪的语法,总是会导致警告?