Haskell 如何比较字符和转义终端转义序列
如果我有这样的东西:Haskell 如何比较字符和转义终端转义序列,haskell,term,Haskell,Term,如果我有这样的东西: main :: IO () main = do hSetBuffering stdin NoBuffering c <- getChar main::IO() main=do hSetBuffering标准不缓冲 c您可以使用terminfo数据库查找预期序列 请参阅模块 例如: Prelude System.Console.
main :: IO ()
main = do
hSetBuffering stdin NoBuffering
c <- getChar
main::IO()
main=do
hSetBuffering标准不缓冲
c您可以使用terminfo数据库查找预期序列
请参阅模块
例如:
Prelude System.Console.Terminfo> t <- setupTermFromEnv
Prelude System.Console.Terminfo> getCapability t keyLeft
Just "\ESCOD"
您可能更喜欢使用一个更完整的库来与终端进行交互,比如。嗯,我对“^L”语法从来都不陌生。这句话的意思出人意料的安静!
Prelude> getChar -- pressing control L
'\f'
Prelude> '\f' == '\^L'
True