2016-10-25 10 views
-1

は、私が入力を受け入れScalaの方法は、これらの入力に基づいてArrayBuffer[Widget]を作成しているイテレータに変換したが、その後にその配列バッファを変換する必要がありIterator[Widget]ScalaのArrayBufferは

def createWidgetIterator(isFizz : Boolean, buzz : String) : Iterator[Widget] = { 
    val widgetBuffer = new ArrayBuffer[Widget]() 

    // ...Use some logic to add Widget instances to widgetBuffer 
    // widgetBuffer += new Widget(...)  etc. 

    // At this point widgetBuffer is full of Widget instances 

    // TODO: Convert widgetBuffer to Iterator[Widget] 
    val widgetIterator : Iterator[Widget] = null // ??? 

    widgetIterator 
} 

誰もが、私はこれを行うことができます方法を知っています変換のタイプ?

答えて

1

使用toIterator配列バッファ上のイテレータを取得する

ScalaのREPLあなたのコードの場合

scala> val ab = ArrayBuffer(1, 2) 
ab: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2) 

scala> ab.toIterator 
res1: Iterator[Int] = non-empty iterator 

def createWidgetIterator(isFizz : Boolean, buzz : String) : Iterator[Widget] = { 
    val widgetBuffer = new ArrayBuffer[Widget]() 
    widgetBuffer.toIterator 
} 
+0

おかげ@pamu(1) - 私はあなたを与えるだろう〜10分で緑色のチェック(それがすぐに私に許されるように)! – smeeb

関連する問題