2012-12-13 2 views
1

Можно создать дубликат:
Wrong IO actions order using putStr and getLineменю печати в терминале и выбор опции, как?

Я новичок в Haskell.

Я пытаюсь создать программу, которая показывает меню через терминал и попросит пользователя ввести опцию. Вот код:

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 

Когда я использую этот модуль в интерпретатор GHCI все работает, как это suposed делать. Но если я скомпилировать это с:

GHC hello.hs

и запустить его в терминале, он не отображает строку «Выберите вариант:» прежде, чем попросить полукокса к . Я думаю, что это может быть вызвано из-за haskell ленивой природы, и я не знаю, как это исправить.

Любые идеи?

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^