14
나는 이해하지 못한 것을 우연히 발견했습니다. GHCi와 getLine의 차이점과 runhaskell의 차이점
은 내가module Main where
main :: IO()
main = do a <- getLine
putStrLn a
파일 및 runhaskell으로 스크립트를 실행하고 입력 하스켈에서 같은를 작성하는 경우 나는
Prelude> a <- getLine
Test<Backspace>oo<CR> -- the Backspace action results in a '^?'
Prelude> a
"Test\DELoo"
에 따라 얻을 GHCi를 사용하고 getLine
를 사용하고있는 경우 백 스페이스는 't'를 예상대로 삭제합니다.
왜 다른 점이 있습니까?
내가 원하지 않는 부작용이 많다거나 ghci를 원치 않는 사람이거나 컴파일 된 버전에 대해 어떤 종류의 보호 기능이있는 것일까?이 부분에 대해 좀 더 자세히 설명 할 수 있습니까? – epsilonhalbe
당신은 할 수 있건 없건간에 - 나는 가능한 한 빨리이 대답을 받아 들일 것입니다! – epsilonhalbe
그들은 GHCi에서 원하지 않습니다. GHCi 자체가 입력을 읽는 방식을 망칠 것입니다. 따라서 GHCi를 실행하기 위해 입력 할 때 Return 키를 누르기 만하면 GHCi가 표시됩니다. – kosmikus