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