haskell打印10次输入字符串,do-notation

Dav*_*vid 1 string monads haskell

将输入作为字符串并使用do-notation打印10次?

print10Times :: String -> IO ()
print10Times name = putStrLn $ repeat 10 name

main :: IO ()
main = do
  putStrLn "What is your name?"
  name <- getLine
  print10Times name
Run Code Online (Sandbox Code Playgroud)

pde*_*ter 5

你可以用replicateM_它.

?: :t replicateM_
replicateM_ :: Monad m => Int -> m a -> m ()
?: do { putStrLn "what is your name?" ; name <- getLine ; replicateM_ 10 (putStrLn name) }
what is your name?
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
none of your business
Run Code Online (Sandbox Code Playgroud)