Tôi có mã đơn giản này đọc một chuỗi và in nó, vô thời hạn.Cách ngắn hơn để có điều kiện "return()" trong một chuỗi đơn nguyên (>>, >> =) trong Haskell?
main :: IO()
main = getLine >>= putStrLn >> main
Bây giờ tôi muốn thoát sau khi gọi getLine
nếu dòng là "thoát" hoặc "thoát".
nỗ lực của tôi:
main :: IO()
main = do
line <- getLine
if line == "exit" || line == "quit"
then return()
else putStrLn line >> main
Không giống thành ngữ đối với tôi. Có cách nào tốt hơn?
Bạn có thể thử 'when' trong' Control.Monad' – DiegoNolan
'main = tương tác $ unlines. takeWhile (/ = "thoát"). lines' – chirlu