(Relacionado a uma pergunta anterior .)
Se eu puder imprimir um caractere no terminal via Prelude.putChar
em uma posição que eu decidi via System.Console.ANSI.setCursorPosition
, como posso obter o caractere nessa posição?
O caso de uso é que eu quero fazer algo assim
do
setCursorPosition a b
c <- getTheCharacterHere
putChar $ if c == 'x' then 'y' else 'z'
onde getTheCharacterHere
é a ação desejada para recuperar o caractere atualmente mostrado na posição definida via setCursorPosition
.
Isso não é possível sem um framework como o ncurses que mantém o controle do estado da tela inteira. Os terminais são somente para gravação por padrão. Veja, por exemplo, esta pergunta .