我有一个理论问题。有没有办法在TypeScript中设计一个表示空集的类型? 我尝试使用union,disjoint union,intersection等来定义一个......
答案 0 :(得分:0)
是的,虽然我认为这种类型的用处很大程度上取决于你的编程风格。您可以像这样定义EmptySet
:
interface ISet {
intersection: (s: ISet) => ISet;
union: (s: ISet) => ISet;
}
class EmptySet implements ISet {
intersection(s: ISet) {
return this;
}
union(s: ISet) {
return s;
}
}
class NonEmptySet implements ISet { ... }
ISet
是集合的通用契约,EmptySet
是实现该契约的具体类型。显然,您可以使用比union
和intersection
设置更多的内容,这只是一个示例。