我看到一些Scala代码写成:
def next(): Array[String] = someVariable.next() :+ iterator.key
someVariable
有一个方法next()
来获取下一行,而迭代器的类型为Iterator[String]
。
:+
在这里意味着什么?
答案 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)