【发布时间】:2016-11-04 04:17:22
【问题描述】:
简单地说,如果用户一次将一大块文本(多行)粘贴到控制台中,我希望能够抓取该块并使用它。
目前我的代码是
val stringLines: List[String] = io.Source.stdin.getLines().toList
doStuff(stringLines)
但是 doStuff 永远不会被调用。我意识到标准输入迭代器没有“结束”,但我如何获得当前的输入?我检查了很多 SO 答案,但没有一个适用于需要整理的多行。我需要同时输入用户输入的所有行,并且它总是以单一数据粘贴的形式出现。
【问题讨论】:
-
你如何区分慢速输入的两行和作为一个块粘贴的两行?如果您为每个时间戳打上时间戳,您可以确定时差
-
@jwvh 是的,这可行。在一秒钟内或彼此之间到达的文本块应分组,文本只会输入一次或两次,中间有很大的差距。你能建议如何以惯用的方式做到这一点吗?