Подтвердить что ты не робот

Как конвертировать List в ListBuffer?

Есть ли способ эффективно сделать это, возможно, через toBuffer или методы? Моя реальная проблема заключается в том, что я строю List из парсера следующим образом:

lazy val nodes: Parser[List[Node]] = phrase(( nodeA | nodeB | nodeC).*)

Но после его создания я хочу, чтобы это был буфер, я просто не уверен, как построить буфер прямо из анализатора.

4b9b3361

Ответ 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)