Groovy を使用して、BASIC スクリプトを処理する DSL を構築しています。
次のような行があります。
100 INPUT V
これは、実行中のスクリプトにコードを挿入する正規表現によって取得されます。
def retString = "scan = new Scanner(System.in);"
retString += "${matcher[0][1]} ="
retString += "scan.nextLine()\n"
return retString
このコードは適切に実行されますが、返されることはありません (つまり、スキャナは nextLine() から返されることはないため、V/matcher[0][1] の値は返されません。代わりに、コードは何回キーボード入力を待ってもスタックします)。エンターキーを押しました。)
ここで何を間違って投票しましたか? 入力は、入力されているときに TextArea にエコーされます (つまり、これがその時点でのフォーカスです)。それに関連していますか?