여기서 작업하는 동안 나는 다소 특이한 문제에 부딪 혔습니다. 이 동작에 대해 매우 간단한 설명이있을 수 있지만 나에게는별로 의미가 없습니다. 나는 그 "TEST.BAT"배치 파일을 작성 "scala"명령은 일괄 처리 스크립트를 종료합니다.
는 지금, 다음과 같습니다 : 여기 상황이다echo 1
scala myProgram
echo 2
나는 따라 디렉토리 및 실행에서 명령 프롬프트를 열 때 test.bat는 1로 에코를 시작한 다음 myProgram (콘솔에 표시되는 특정 출력이 있으므로 myProgram이 제대로 작동 함)을 실행 한 다음 중지합니다. 2는 이 아니며이 콘솔에 나타나고 콘솔에서 다른 명령을 입력 할 때까지 기다립니다.
왜이 동작입니까? 콘솔의 오작동입니까? 스칼라 명령이나? 아니면 전혀 오작동이 아니며 실제로 그런 식으로 행동하기위한 것입니까?
"scala myProgram"의 출력을 스칼라 프로그램이 끝난 후 파일로 리디렉션하고 스칼라 프로그램이 종료 된 후이 파일의 이름을 바꾸는 것이므로 내 배치 파일은 다소 원래 다음과 같이 보입니다.
scala myProgram > log.txt 2>&1
ren "log.txt" "log2.txt"
"log2.txt"가 생성되지 않았다는 사실에 혼란 스러웠습니다.
귀하의 답변에 크게 감사드립니다.
스칼라 프로그램이 실제로 종료합니까? –
스칼라 프로그램은 단순히 "scala myProgram"을 호출 할 때 자동으로 실행되는 main 함수를 포함하는 클래스입니다. 이 main 함수의 마지막 명령은 println이며 콘솔에 의도 한대로 나타납니다. – user1860041
사용중인 스칼라 코드를 제공해 주시겠습니까? 또는 다음과 같이 간단하게 다시 시도하십시오. 'object myProgram extends App { println ("hello stackoverflow") } – Mellson