计算机代考程序代写 Haskell — Hangman example from chapter 10 of Programming in Haskell,

— Hangman example from chapter 10 of Programming in Haskell,
— , Cambridge University Press, 2016.

import System.IO

hangman :: IO ()
hangman = do putStrLn “Think of a word:”
word <- sgetLine putStrLn "Try to guess it:" play word sgetLine :: IO String sgetLine = do x <- getCh if x == '\n' then do putChar x return [] else do putChar '-' xs <- sgetLine return (x:xs) getCh :: IO Char getCh = do hSetEcho stdin False x <- getChar hSetEcho stdin True return x play :: String -> IO ()
play word = do putStr “? ”
guess <- getLine if guess == word then putStrLn "You got it!!" else do putStrLn (match word guess) play word match :: String -> String -> String
match xs ys = [if elem x ys then x else ‘-‘ | x <- xs]