为什么这个 Discriminated Union 不接受 Set 类型的案例?
Why doesn't this Discriminated Union accept a Set type case?
我正在尝试创建一个新的 Set
类型:
type MySet<'t> = | List of list<'t>
| Sequence of seq<'t>
| Array of 't []
这有效,但如果我尝试为 Set
类型本身添加一个案例,我会收到一条消息:a type parameter is missing a constraint 'when t: comparison'
type MySet<'t> = | List of list<'t>
| Sequence of seq<'t>
| Array of 't []
| Set of Set<'T>
我猜这应该很容易修复,但我尝试了一些方法还是无法修复。
Set<'t>
数据结构的实现要求它的值可以比较,所以如果你的类型包含可以放入集合中的值,你必须提供相同的类型约束:
type MySet<'t when 't : comparison> =
| List of list<'t>
| Sequence of seq<'t>
| Array of 't []
| Set of Set<'t>
我正在尝试创建一个新的 Set
类型:
type MySet<'t> = | List of list<'t>
| Sequence of seq<'t>
| Array of 't []
这有效,但如果我尝试为 Set
类型本身添加一个案例,我会收到一条消息:a type parameter is missing a constraint 'when t: comparison'
type MySet<'t> = | List of list<'t>
| Sequence of seq<'t>
| Array of 't []
| Set of Set<'T>
我猜这应该很容易修复,但我尝试了一些方法还是无法修复。
Set<'t>
数据结构的实现要求它的值可以比较,所以如果你的类型包含可以放入集合中的值,你必须提供相同的类型约束:
type MySet<'t when 't : comparison> =
| List of list<'t>
| Sequence of seq<'t>
| Array of 't []
| Set of Set<'t>