Scala中的“:+”是什么意思

时间:2016-05-12 14:56:48

标签: scala

我看到一些Scala代码写成:

 def next(): Array[String] = someVariable.next() :+ iterator.key

someVariable有一个方法next()来获取下一行,而迭代器的类型为Iterator[String]

:+在这里意味着什么?

3 个答案:

答案 0 :(得分:22)

在Scala馆藏中,通常会有:++: 两者都为集合添加元素。 :+附加+:前缀 一个很好的提醒是,:是收集的地方。

还有colA ++: colB来连接集合,其中:侧集合确定结果类型。 但是:++只有colA ++ colB,其结果的类型为colA

答案 1 :(得分:20)

:+someVariable.next()返回的任何类型的方法。

据推测它是scala.Array.:+

  

此数组的副本,附加了一个元素。

这也是IDE可以帮助您的一个案例。以Intellij为例,您可以使用"快速文档"或"跳转到定义" :+上的命令,并立即找出它来自哪里。我发现工具在编写scala时非常有用。

答案 2 :(得分:0)

scala> List(1,2,3,4) :+ 400
res27: List[Int] = List(1, 2, 3, 4, 400)