Scala 前置到字符串数组

Scala 前置到字符串数组,scala,Scala,我想在数组前面加一个元素。我想我应该使用:+,但这似乎不起作用: scala> val nodes: Array[String] = Array("b", "c") nodes: Array[String] = Array(b, c) scala> val updatedNodes = "a" :+ nodes updatedNodes: scala.collection.immutable.IndexedSeq[Any] = Vector(a, Array(b, c)) 我应该

我想在数组前面加一个元素。我想我应该使用:+,但这似乎不起作用:

scala> val nodes: Array[String] = Array("b", "c")
nodes: Array[String] = Array(b, c)

scala> val updatedNodes = "a" :+ nodes
updatedNodes: scala.collection.immutable.IndexedSeq[Any] = Vector(a, Array(b, c))

我应该如何在“a”前面加上前缀以给出数组(“a”、“b”、“c”)

我想您应该使用
+:
操作符:

val updatedNodes = "a" +: nodes
参考。即

也可以通过将字符串包装在单例
数组中

Array("a") ++ xs          // prepend
xs         ++ Array("a")  // append

另请注意
++:
相当于用
++

val updatedNodes=“a”+:nodes
?如此明显!我仍然对scala的“运算符”不太满意。很多人还记得一条简单的规则,当运算符以“:”结尾时,当使用中缀符号时,它绑定到右边,所以当参数需要在对象的左边时,方法需要以冒号结尾。或者用另一种方式看它:指向集合,+指向元素
Array("a") ++ xs          // prepend
xs         ++ Array("a")  // append