0

我有点问题。我需要将一个函数存储到地图中,但这个函数必须有不同类型的参数。IE:

Map(1 -> Int => String, 2 -> String => SomeClass) and so on.

所以,但是 Function1 的类型参数不应该是Any类型。我该怎么做?有任何想法吗。谢谢。

4

1 回答 1

1

scala Map 接口只有两个类型参数,所以你不能用 scala 类型系统和标准映射做你想做的事。

由于类型系统已经完成,您可能可以做您想做的事,可能使用与 HList http://jnordenberg.blogspot.de/2008/08/hlist-in-scala.html中类似的方法

如果您通过这张奇怪的地图提供您尝试解决的实际问题,我们可能会为您的问题提供解决方案。也许类型构造函数采用一种类型并创建另外两种类型的 Function1,但在您陈述要解决的真正问题之前,这只是猜测。

于 2012-09-19T18:35:04.760 回答