如何將reverse2lines
轉換爲使用>>=
語法?就像addOneInt
轉化爲addOneInt'
?將語法轉換爲>> =語法的簡單示例
addOneInt :: IO()
addOneInt = do line <- getLine
putStrLn (show (1 + read line :: Int))
addOneInt' :: IO()
addOneInt' = getLine >>= \line ->
putStrLn (show (1 + read line :: Int))
reverse2lines :: IO()
reverse2lines =
do line1 <- getLine
line2 <- getLine
putStrLn (reverse line2)
putStrLn (reverse line1)
請考慮閱讀後續的question及其有價值的答案。 x <- m
類型的
謝謝你的詳細答案,是否有可能用'>> ='來制定'reverse2lines'?沒有'>>'? – jhegedus
是,'m >> n === m >> =(\ _ - > n)'。對於一些單子,它甚至可以這樣定義;對於其他人來說,更有效的特定代碼可能用於'>>'。 –
謝謝,我試着重寫它,它會是一個很好的練習。 – jhegedus