1
我一直試圖在Scala中實現我自己的getline版本。我想逐字閱讀字符。最近我得到的是:在Scala中純粹實現getline讀字符的特性
def in_string: List[Char] = {
io.Source.fromInputStream(System.in)
.takeWhile(_ != '\n')
.toList
}
有什麼建議嗎?
我一直試圖在Scala中實現我自己的getline版本。我想逐字閱讀字符。最近我得到的是:在Scala中純粹實現getline讀字符的特性
def in_string: List[Char] = {
io.Source.fromInputStream(System.in)
.takeWhile(_ != '\n')
.toList
}
有什麼建議嗎?
如果用「純」表示功能,請參閱Martin Ring的評論。
如果用「pure」表示「沒有Java」,那麼你不能使用上面的方法,因爲InputStream
來自Java(以及任何你將要在某處使用某種Java的東西)。
這在理論上是可能避免System.in
:
Console.readLine // Reads a whole line for you
毫無意義服用此分割成字符,並把它重新走到一起成一條線試。
你的大問題實際上是逐字符而不是逐行讀字符。用Java提供的工具並不容易,而且由於Scala是建立在JVM之上的,所以它無法做得更好。參見例如SO#1066318。
你爲什麼要做一個身份地圖? – 2013-03-06 19:03:09
最後我會將這個值映射到一個對象 – Craysiii 2013-03-06 19:07:57
你要求什麼? – sschaef 2013-03-06 19:51:42