Я только что наткнулся на вещь, которую я не понимаю.
Если я использую 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
и запустите script с помощью runhaskell и введите тот же ввод, backspace удаляет 't', как ожидалось.
Почему существует разница?