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