This question already has answers here:
What does `:_*` (colon underscore star) do in Scala?
(4 个回答)
7年前关闭。
在 Scala 代码中
(或者甚至更好,只需编写
既然你说你知道代码的作用,我假设你理解将列表标记为序列参数的
(4 个回答)
7年前关闭。
在 Scala 代码中
val s = Set(List(1,2,3).toSeq:_*)
toSeq:_*
语法是如何工作的?我知道代码做什么,我知道 toSeq
做什么,我理解 List(1,2,3).toSeq:Seq[Int]
。 toSeq:_*
是特例吗? 最佳答案
toSeq
在这里没有完成任何事情,应该省略。以下是等效的:
Set(List(1, 2, 3): _*)
(或者甚至更好,只需编写
List(1, 2, 3).toSet
。)既然你说你知道代码的作用,我假设你理解将列表标记为序列参数的
_*
类型注释(如果不是,请参阅 the language specification 的第 4.6.2 节)。这适用于任何 Seq
,包括 List
,因此使用 toSeq
显式转换列表只是额外的困惑。关于scala - Scala toSeq :_* syntax work? 如何,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23887867/
10-12 12:35