给定例如:
scala> def pipes(strings:String*) = strings.toList.mkString("|")
我可以正常调用:
scala> pipes("foo", "bar")
res1: String = foo|bar
或啪啪啪:
scala> val args = List("a","b","c")
scala> pipes(args:_*)
res2: String = a|b|c
但是我可以使用 splat 为除 varargs 参数之外的任何参数提供参数吗?例如,我想做类似的事情:
scala> def pipeItAfterIncrementing(i:Int, s:String) = (i + 1) + "|" + s
scala> val args:Tuple2[Int, String] = (1, "two")
scala> pipeItAfterIncrementing(args:_*)
那是行不通的,但是有什么方法可以实现从单个对象提供多个参数的相同效果,无论是元组还是其他对象?鉴于元组的长度和类型在编译时都是已知的,是否有任何理由无法为元组实现?