Wie liest man Zeile für Zeile aus der Standardeingabe?
Was die Scala Rezept für das Lesen Zeile für Zeile von der standard-Eingabe ? So etwas wie das äquivalent in java-code :
import java.util.Scanner;
public class ScannerTest {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
System.out.println(sc.nextLine());
}
}
}
InformationsquelleAutor der Frage Andrei Ciobanu | 2011-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den meisten straight-forward-looking-Ansatz wird nur
readLine()
ist TeilPredef
. aber das ist eher hässlich, wie Sie benötigen, zu prüfen, für eventuelle null-Wert:dies ist so ausführlich, Sie würde eher verwenden
java.util.Scanner
statt.Ich denke, ein schöner Ansatz verwenden
scala.io.Source
:InformationsquelleAutor der Antwort itemState
Für die Konsole, die Sie verwenden können
Console.readLine
. Schreiben Sie (wenn Sie wollen, zu stoppen, auf einer leeren Zeile):Wenn Sie cat eine Datei zu generieren, die Eingabe müssen Sie möglicherweise zu stoppen, auf null oder leer Verwendung:
InformationsquelleAutor der Antwort Landei
InformationsquelleAutor der Antwort Jason
Können Sie nicht verwenden
Als hier verfügbar : Scaladoc-API
InformationsquelleAutor der Antwort kaning
Einer rekursiven version (der compiler erkennt eine tail-Rekursion für verbesserte heap-Verwendung),
Beachten Sie die Verwendung von
io.StdIn
von Scala 2.11 . Beachten Sie auch die mit diesem Ansatz können wir die sammeln Benutzereingaben in eine Sammlung, die schließlich zurückgegeben -- zusätzlich ausgedruckt werden. Nämlich,InformationsquelleAutor der Antwort elm