我有這個簡單的代碼,它讀取一個字符串並無限期地打印它。在Haskell中有條件地在monad鏈(>>,>> =)中「返回()」的較短方法?
main :: IO()
main = getLine >>= putStrLn >> main
現在我想getLine
調用後退出,如果行是「跳槽」或「退出」。
我嘗試:
main :: IO()
main = do
line <- getLine
if line == "exit" || line == "quit"
then return()
else putStrLn line >> main
看起來不地道了我。有沒有更好的辦法?
你可以在'Control.Monad'中嘗試'when' – DiegoNolan
'main = interact $ unlines。 takeWhile(/ =「退出」)。行' – chirlu