単純に、ユーザーが一度に(複数の)テキストの塊をコンソールにペーストすると、そのチャンクをつかんで使用することができます。Stdinの分割されたチャンクを使用可能な形式に変換する
現在、私のコードは、しかしdoStuffが呼び出されることはありません
val stringLines: List[String] = io.Source.stdin.getLines().toList
doStuff(stringLines)
です。 stdinイテレータには「終わり」がないことが分かりますが、現在のように入力をどのように取得できますか?私は多くのSO答えをチェックしましたが、それらのどれも照合する必要がある複数の行には対応していません。私はユーザーの入力のすべての行を一度に持つ必要があり、常にデータの単一のペーストとして来るでしょう。
タイピングされた2つの行と、ゆっくりと、チャンクとして貼り付けられた2つの行の違いを、どのように分かりますか?それぞれにタイムスタンプを付けると、時間差<しきい値がチャンクであると判断できます。 「チャンクされた」ものを識別する別の方法はありますか? – jwvh
@jwvhはい、うまくいくでしょう。 1秒以内に到着するテキストのブロックはグループ化されるべきであり、テキストは1回または2回入力され、間には大きなギャップがあります。あなたはそれを慣習的にする方法を提案できますか? – sudom82