3 Stimmen

readInt für scala.io.Source

En Konsole.scala haben wir nette Methoden wie readInt , readChar , usw.

Warum haben wir sie nicht für io.Source ? Und wenn Sie argumentieren, dass wir die IO-Fähigkeiten von Java nutzen sollten, warum sollten wir dann die Console.read* Methoden?

Jede andere scala-ish Methode für minimale Datei-Parser?

2voto

user unknown Punkte 33856

Wie wäre es damit:

val sc = new java.util.Scanner (System.in)

1voto

huynhjl Punkte 41112

Ich bin mir nicht sicher, ob es sich lohnt, dies in die Standardbibliothek aufzunehmen. Console.readInt liest eine ganze Zeile und wandelt sie dann in einen int um. Vermutlich ist der Anwendungsfall, dass der Benutzer aufgefordert wird, eine ganze Zahl in die Konsole einzugeben. Es ist auch nicht defensiv kodiert, versuchen Sie mal, ein Leerzeichen nach der Zahl einzugeben wie '6 '

Bei der Verwendung von readChar werden alle Zeichen in der Zeile bis auf das erste verworfen.

Bei der Verwendung von io.Source der Anwendungsfall ist eher die Iteration nach Zeichen oder nach Zeilen. Die Verarbeitung der Eingabe mit der gleichen Semantik wie bei der Console.read* Methode sollte selten sein.

Ich habe gerade die Antwort von Benutzer unbekannt gesehen und finde sie gut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X