我刚刚偶然发现了一个我不明白的东西。
如果我使用 GHCi 并使用,getLine
我会得到以下信息
Prelude> a <- getLine
Test<Backspace>oo<CR> -- the Backspace action results in a '^?'
Prelude> a
"Test\DELoo"
如果我在 Haskell 文件中写相同的
module Main where
main :: IO ()
main = do a <- getLine
putStrLn a
并使用 runhaskell 运行脚本并输入相同的输入,退格键会按预期删除“t”。
为什么有区别?