내가 얼랑 아닌 다른 언어로 REPL을 구현하고 싶습니다, 정말 대화 형 erl
(Eshell) 프롬프트의이 기능에 흥미 오전 :Erlang의 Eshell은 비동기 출력에 영향을받지 않는 입력 라인을 어떻게 유지합니까?
1> spawn(fun() -> timer:sleep(5000), io:format("~p~n", ["later"]) end).
<0.34.0>
2> i can ty
여기 행한 결국 일부 백그라운드 프로세스를 생성한다 그래서 터미널에 씁니다. 오초에 의해 통과하고 "later"
잘 2>
위에 삽입됩니다대로 그 동안 나는 결과 i can ty
를 입력 한 : 같은 배쉬 나 Node.js를 다른 언어로
1> spawn(fun() -> timer:sleep(5000), io:format("~p~n", ["later"]) end).
<0.34.0>
"later"
2> i can type...
이 오히려 이어질 것 예를 들면 다음과 같습니다 :
2> i can ty"later"
pe...
Erlang은 어떻게합니까? 인터넷 검색을 시도하고 소스 코드를 간략하게 살펴 보았지만 이것이 어떻게 성취되는지를 알 수 없었습니다. 나는 그것이 몇 가지 터미널 제어 시퀀스를 포함해야한다고 가정한다.
이것은 쉬운 질문은 아니며 솔직히 대답을 찾을 수 없습니다. 정말로 관심이 있다면 erlang mailig list를 치고, 멋진 고양이는 모두 놀 수 있습니다 :'erlang-questions @ erlang.org' – mpm
stdout에 쓰는 것은 프로세스에 의해 수행됩니다. 보낸 메시지는 셸에서 가로 챌 수 있습니다. – rightfold