我收到一个错误,即ListBuffer没有用于追加的方法++ =:。甚至认为,它在文档中。

scala> val lb = new ListBuffer[Int]
lb: scala.collection.mutable.ListBuffer[Int] = ListBuffer()

scala> lb ++= Seq(1,2,3)
res20: lb.type = ListBuffer(1, 2, 3)

scala> lb ++=: Seq(4,5)
<console>:10: error: value ++=: is not a member of Seq[Int]
              lb ++=: Seq(4,5)

从文档:
def ++=:(xs: TraversableOnce[A]): ListBuffer.this.type

http://www.scala-lang.org/api/2.11.5/index.html#scala.collection.mutable.ListBuffer

最佳答案

在中缀位置使用时,以:结尾的方法是右关联的。
您可以使用lb.上调用方法,也可以反转参数:

scala> lb.++=:(Seq(4,5))
res3: lb.type = ListBuffer(4, 5, 1, 2, 3)

scala> Seq(7,6,8) ++=: lb
res4: lb.type = ListBuffer(7, 6, 8, 4, 5, 1, 2, 3)

关于scala - 列表缓冲区前缀:错误:值++ =:不是Seq [Int]的成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31765596/

10-17 00:41