おそらくtoBufferまたはメソッドを介して、これを効率的に行う方法はありますか? 私の本当の問題は、次のように、パーサーからリストを作成していることです。
lazy val nodes: Parser[List[Node]] = phrase(( nodeA | nodeB | nodeC).*)
しかし、それを構築した後、代わりにバッファにしたい-パーサーから直接バッファを構築する方法がわかりません。
おそらくtoBufferまたはメソッドを介して、これを効率的に行う方法はありますか? 私の本当の問題は、次のように、パーサーからリストを作成していることです。
lazy val nodes: Parser[List[Node]] = phrase(( nodeA | nodeB | nodeC).*)
しかし、それを構築した後、代わりにバッファにしたい-パーサーから直接バッファを構築する方法がわかりません。
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)