2016-09-11 6 views
0

Ziemlich neu bei Scala. Der Versuch, diesesScala: Liste der Listen in eine Datei drucken: jede verschachtelte Liste ist eine neue Zeile

val ListNew=List(List("this", "is", "it?"), List("yeah", "what", "else", "do","you","expect")) 

in eine Datei/Screen, wie folgt aus:

this is it? \n 
yeah what else do you expect 

ich es mit dem folgenden Code zu verwalten hat

var ctr =0 ; 
ListNew.map(k=> for(rec <-k ) {ctr=ctr+1 ;if (ctr == k.length){print(rec +"\n ");ctr =0; } else {print(rec+" ")} }) 

Aber ich nicht counters wollen: Gibt es ein Möglichkeit, einen Ausdruck "\ n" vor zwei foreach zu bekommen. Ich versuchte Iteratoren, konnte sie nicht richtig

Antwort

1
println(ListNew.map(_.mkString(" ")).mkString("\n")) 
+0

Danke sehr, sehr viel nützlicher sein !! – shayon

1

Wie Sie scala neu wäre dies

scala> val list = List(List("this", "is", "it?"), List("yeah", "what", "else", "do","you","expect")) 
list: List[List[String]] = List(List(this, is, it?), List(yeah, what, else, do, you, expect)) 

scala> val sentenceList = list.map(x => x.mkString(" ")) 
sentenceList: List[String] = List(this is it?, yeah what else do you expect) 

scala> sentenceList.mkString("\n") 
res17: String = 
this is it? 
yeah what else do you expect 
+0

thts wie m schreibe es jetzt :) – shayon

0
ListNew.foreach{ list => println(list.reduce(_ + " " + _)) } 
+0

Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". – abarisone

Verwandte Themen