3
有时,编码地图中键和值类型之间的依赖关系可能很有用。考虑以下类型:Scala中的Map键和值类型参数之间的依赖
type MyPairs = Seq[(TypeTag[T], T) forSome {type T}]
这里每对的序列中应当具有相同的类型T
。但是这种类型在地图使用方面不是很方便。然而,我不能表达这种依赖关系Map[K, V]
,因为Map
有两个独立的类型参数,并且我似乎无法以任何方式“组合”它们来使用单个存在类型。天真的变体
type MyMap = Map[TypeTag[T], T] forSome {type T}
只是强制单一类型T
。对于所有MyMap
条目,但不是单独针对每个条目。
另一个极端,我认为,是
type MyMap = Map[TypeTag[_], _]
但这是,当然,过于宽泛的定义,允许键值类型的任意组合。
所以我的问题是,有可能在Scala中编码这种类型?如果是,如何?
同时http://stackoverflow.com/questions/7401329/map-from-classtto-t-without-casting;也http://stackoverflow.com/questions/7038708/scala-existential-types-for-a-map –
@ 0__,谢谢。看起来我的搜索技能有点缺乏...... –