[haskell] Haskell에서 터미널 화면을 어떻게 지우나요?

사용자가 내 애플리케이션 메뉴에서 옵션을 선택한 후 터미널 화면을 지우려면 어떻게해야합니까?



답변

:! 쉘 명령 실행
:! 창 아래 cls
:! 취소 리눅스와 OS X에서


답변

이것은 당신이 찾고있을 수있는 것입니다 :

ansi-terminal : Windows와 호환되는 간단한 ANSI 터미널 지원

Hackage에서 찾을 수 있으며 cabal install ansi-terminal. 특히 화면 지우기, 색상 표시, 커서 이동 등의 기능이 있습니다.

그것을 사용하여 화면을 지우는 것은 쉽습니다 : (GHCI와 함께)

import System.Console.ANSI

clearScreen


답변

ANSI 이스케이프 시퀀스 (유닉스 / 리눅스 시스템의 모든 용어를 믿습니다)를 이해하는 터미널에서는 다음과 같이 간단하게 수행 할 수 있습니다.

clear = putStr "\ESC[2J"

2전체 화면을 지 웁니다. 커서에서 화면 끝까지 또는 커서에서 화면 시작까지 지우려면 0또는 1각각을 사용할 수 있습니다 .

그러나 나는 이것이 Windows 셸에서 작동한다고 생각하지 않습니다.


답변

Ctrl + L을 누르기 만하면됩니다 (Windows에서 작동).


답변

Unix 시스템 System.system "clear"에서는 명령 줄 유틸리티 clear를 호출하는 작업 을 수행 할 수 있습니다 . 외부 도구에 의존하지 않는 솔루션의 경우 ansi-terminal 과 같은 다른 터미널 유형을 추상화하는 라이브러리가 필요합니다 .


답변

Windows에서 빠른 방법은 다음과 같습니다.

import System.Process

clear :: IO ()
clear = system "cls"


답변

Windows에서는 Haskell 명령 프롬프트 터미널에 Ctrl + L 을 사용하십시오 . 그리고 GUI의 경우 Ctrl + S를 사용하십시오 .