1

ここでの仕事中に、ちょっと変わった問題にぶつかりました。この動作には非常に単純な説明がある可能性がありますが、私にはあまり意味がありません。

状況は次のとおりです。

現在、次のようなバッチ ファイル「test.bat」を作成しました。

echo 1
scala myProgram
echo 2

対応するディレクトリでコマンド プロンプトを開いて test.bat を実行すると、最初に 1 がエコーされ、myProgram が実行されます (これには特定の出力がコンソールに表示されるため、scala プログラム myProgram は正常に動作します)。その後、停止します。2 はコンソールに表示され、コンソールは別のコマンドを入力するのを待ちます。

なぜこの振る舞いをするのですか?コンソールの誤動作ですか?またはscalaコマンドの?または、まったく誤動作ではなく、実際にそのように動作することを意図していますか?

私が実際にやろうとしていたのは、「scala myProgram」の出力をファイルにリダイレクトし (これはうまく機能します)、scala プログラムが終了した後にこのファイルの名前を変更することでした。

scala myProgram > log.txt 2>&1
ren "log.txt" "log2.txt"

そして、「log2.txt」が作成されていないことに戸惑いました。

あなたの答えは大歓迎です、ありがとう。

4

1 に答える 1

0

-ncscalaコマンドに追加するとうまくいきました:

    $ scala -nc /tmp/2.scala
    Hello world

だから私は、問題はコンパイルデーモンと関係があると思います

 -nc          no compilation daemon: do not use the fsc offline compiler

それを試していただけますか?

于 2013-02-20T20:00:40.547 に答える