Как конвертировать List в ListBuffer?
Есть ли способ эффективно сделать это, возможно, через toBuffer или методы? Моя реальная проблема заключается в том, что я строю List из парсера следующим образом:
lazy val nodes: Parser[List[Node]] = phrase(( nodeA | nodeB | nodeC).*)
Но после его создания я хочу, чтобы это был буфер, я просто не уверен, как построить буфер прямо из анализатора.
Ответы
Ответ 1
to
действительно делает трюк, и это довольно тривиально:
scala> val l = List(1,2,3)
l: List[Int] = List(1, 2, 3)
scala> l.to[ListBuffer]
res1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)
Работает в scala 2.10.x
Для scala 2.9.x вы можете:
scala> ListBuffer.empty ++= l
res1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)