我有一个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] => ...
}
}
我怎样才能做到这一点?