在Console.scala我們有很好的方法,如readInt
,readChar
等的readInt爲scala.io.Source
我們爲什麼不有他們io.Source
?如果您認爲我們應該使用Java的IO功能,那麼爲什麼使用Console.read*
方法?
最小文件解析器的任何其他scala-ish方法?
在Console.scala我們有很好的方法,如readInt
,readChar
等的readInt爲scala.io.Source
我們爲什麼不有他們io.Source
?如果您認爲我們應該使用Java的IO功能,那麼爲什麼使用Console.read*
方法?
最小文件解析器的任何其他scala-ish方法?
我不知道這是值得加入這標準庫。 Console.readInt
讀取整行,然後將其轉換爲int。據推測,用例是在控制檯提示用戶輸入一個整數的時候。它沒有以防禦性的方式編碼,試着在數字後面輸入一個空格,如'6 '
當使用readChar
時,除了第一個字符以外,該行中的所有字符都被丟棄。
當使用io.Source
時,用例更多地是通過字符或行迭代。使用與Console.read*
方法相同的語義處理輸入應該很少見。
我剛剛看到用戶未知的答案,我認爲這很好。
如何:
val sc = new java.util.Scanner (System.in)
那麼爲什麼'Console.readInt',當你可以'new java.util.Scanner(System.in)'? – 2011-05-20 06:58:47
也許會在[Code-Golfs](http://codegolf.stackexchange.com)中贏得聲望? – 2011-05-20 13:38:33
我從你的回答中得出的結論是「確實,Console.read *被認爲是有害的,我們應該刪除它,並使用java.util.Scanner'來代替」。我必須同意這一點。 – 2011-05-20 07:00:42