2012-12-13 4 views
1

가능한 중복 :
Wrong IO actions order using putStr and getLine터미널에서 메뉴를 인쇄하고 옵션을 선택하는 방법?

나는 하스켈 초보자입니다.

터미널을 통해 메뉴를 표시하고 사용자에게 옵션을 소개하도록 요청하는 프로그램을 만들려고합니다. 나는 ghci 인터프리터에이 모듈을 사용하는 경우가 할 suposed처럼 모든 작품

main :: IO() 
main = do 
    putStrLn "0 <- quit" 
    putStrLn "1 <- Hello" 
    putStr "Choose an option: " 
    c <- getChar 
    case c of 
     '0' -> return() 
     '1' -> putChar '\n' >> putStrLn "Hello World" >> main 

: 여기에 코드입니다. 그러나 내가 이것을 컴파일하는 경우 : 이전에 문자를 요청 :

GHC의 hello.hs

와 터미널에서 실행, 그것은 "옵션을 선택"선을 표시하지 않습니다 소개되다. 이 문제는 haskell 게으른 자연 때문에 발생한다고 생각하며 해결 방법을 모르겠습니다.

아이디어가 있으십니까?

답변

관련 문제