什么是:_*以及它如何在Scala中实现?

rea*_*man 3 symbols scala

我知道的:

scala> def fx(s: String *) = s.foreach(println)
fx: (s: String*)Unit

scala> val lst = List("1","2","3")
lst: List[java.lang.String] = List(1, 2, 3)

scala> fx(lst:_*)
1
2
3
Run Code Online (Sandbox Code Playgroud)

我想知道的是什么:

  1. 我该如何实施:_*?按地图?
  2. 有没有其他方法可以取代它?
  3. 如何:_*在Scala中定义?

谢谢

Nic*_*las 8

向编译器指示你已经提供了一系列元素只是一个语法糖,没有其它的"实现".有关更多信息,请参阅Scala语言规范(第6.6节,第78页)