具有通用参数

时间:2017-10-02 12:40:20

标签: scala

我正在尝试整理一系列我将弃用的功能。 我以前做过这个,但这次这些函数的参数是从同一个基类继承的对象列表。

Scala中的语法是什么?

这就是我现在所拥有的。

val tasks: List[(List[_ <: MyBaseClass]) => String] = List(
  functionOne,
  functionTwo,
  functionThree
)

1 个答案:

答案 0 :(得分:1)

如果每个功能都有自己的T,那么您需要List[(List[T] => String) forSome { type T <: MyBaseClass }]。如果T对于列表中的所有功能都相同(但您事先并不知道),那么它就是List[List[T] => String] forSome { type T <: MyBaseClass }。您当前的类型与List[(List[T] forSome { type T <: MyBaseClass }) => String]相同。请注意,因为List是协变的,List[_ <: MyBaseClass]相当于List[MyBaseClass]