27

おそらくtoBufferまたはメソッドを介して、これを効率的に行う方法はありますか? 私の本当の問題は、次のように、パーサーからリストを作成していることです。

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

しかし、それを構築した後、代わりにバッファにしたい-パーサーから直接バッファを構築する方法がわかりません。

4

1 に答える 1

52

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)
于 2013-01-21T16:37:03.030 に答える