【发布时间】:2011-05-23 22:42:01
【问题描述】:
真的很难想出用一个代表具体类型 Set 的类来扩展不可变 Set。我这样做是为了尝试创建一个不错的 DSL。
我想要一个 Thing 类,当你将“事物”加在一起时,你会得到一个扩展 Set 的 ThingSet 对象。
class Thing(val name:String){
def +(other: Thing):ThingSet = new ThingSet() + other
}
我只是不知道如何制作 ThingSet 对象。我知道我需要混合 GenericSetTemplate、SetLike 等特征。但我就是做不到。
请,任何人都可以给我一些指示,因为我找不到任何足够明确的东西来学习。我试过查看 BitSet 和 HashSet 实现,但迷路了。
【问题讨论】:
-
嗯...您忘记将
this添加到ThingSet,因此您可能需要修复该错误。 :-)