আমি কয়েকটি স্কেলা কোড লিখছি যা অ্যাপাচি পিওআই এপিআই ব্যবহার করে । আমি java.util.Iterator
শীট শ্রেণি থেকে প্রাপ্ত সারিগুলিতে পুনরাবৃত্তি করতে চাই । আমি for each
স্টাইলের লুপে পুনরুক্তি ব্যবহার করতে চাই , তাই আমি এটিকে একটি স্থানীয় স্কালার সংগ্রহে রূপান্তর করার চেষ্টা করছি তবে কোনও ভাগ্য হবে না।
আমি স্কালা মোড়কের ক্লাস / বৈশিষ্ট্যগুলি দেখেছি, তবে কীভাবে সেগুলি সঠিকভাবে ব্যবহার করতে হয় তা আমি দেখতে পাচ্ছি না। while(hasNext()) getNext()
লুপের ভার্বোস স্টাইলটি ব্যবহার না করে আমি কীভাবে স্কালায় একটি জাভা সংগ্রহের মাধ্যমে পুনরাবৃত্তি করব?
সঠিক উত্তরটির ভিত্তিতে আমি লিখেছি কোড এখানে:
class IteratorWrapper[A](iter:java.util.Iterator[A])
{
def foreach(f: A => Unit): Unit = {
while(iter.hasNext){
f(iter.next)
}
}
}
object SpreadsheetParser extends Application
{
implicit def iteratorToWrapper[T](iter:java.util.Iterator[T]):IteratorWrapper[T] = new IteratorWrapper[T](iter)
override def main(args:Array[String]):Unit =
{
val ios = new FileInputStream("assets/data.xls")
val workbook = new HSSFWorkbook(ios)
var sheet = workbook.getSheetAt(0)
var rows = sheet.rowIterator()
for (val row <- rows){
println(row)
}
}
}