(如何)获取当前在终端给定位置显示的字符?

问题描述 投票:0回答:1

(与之前的问题相关。)

如果我可以通过

Prelude.putChar
在终端中通过
System.Console.ANSI.setCursorPosition
决定的位置打印字符,我如何获取该位置的字符?

用例是我想做这样的事情

do
  setCursorPosition a b
  c <- getTheCharacterHere
  putChar $ if c == 'x' then 'y' else 'z'

其中

getTheCharacterHere
是检索当前显示在通过
setCursorPosition
设置的位置处的字符的所需操作。

haskell terminal io
1个回答
0
投票

如果没有像 ncurses 这样的框架来跟踪整个屏幕的状态,这是不可能的。默认情况下,终端是只写的。参见例如这个问题.

© www.soinside.com 2019 - 2024. All rights reserved.