(与上一个问题相关。)
如果我可以通过在终端上Prelude.putChar
我已决定的位置打印一个字符System.Console.ANSI.setCursorPosition
,我怎样才能获取该位置的字符?
用例是我想要做这样的事情
do
setCursorPosition a b
c <- getTheCharacterHere
putChar $ if c == 'x' then 'y' else 'z'
其中getTheCharacterHere
是检索当前显示在通过 设置的位置处的字符的所需操作setCursorPosition
。
如果没有像 ncurses 这样的框架来跟踪整个屏幕的状态,这是不可能的。默认情况下,终端是只写的。例如,请参阅这个问题。