具有未知数量类型的Scala泛型

时间:2017-10-30 09:21:53

标签: scala

我有一个scala函数,它应该接收任意数量的Iterable[T]个未知且不同的T s。

例如,

这是一个有效的电话

foo(Iterable(1, 2, 3), Iterable(" "))

应该翻译成

foo(arg1: Iterable[Int](1, 2, 3),
    arg2: Iterable[String](" "))

请注意,以下操作无效。

foo(args: Iterable[Any]*)

因为我需要每个iterable都是一个特定的类型。

以下是我希望如何看待的示例:

foo[T*](arge: Iterable[T]*) = {
  args.foreach({
    case _: Iterable[Int] => ...
    case _: Iterable[String] => ...
  }
}

我怎样才能做到这一点?

0 个答案:

没有答案