我在看的代碼包含這個頂級功能:解釋
starman :: String -> Int -> IO()
starman word n = turn word ['-' | x <- word] n
我可以看到,這是一個函數,需要兩個參數,然後調用轉功能,看起來像這樣:
turn :: String -> String -> Int -> IO()
turn word display n =
do if n==0
then putStrLn "You lose"
else if word==display
then putStrLn "You win!"
else mkguess word display n
什麼我不明白是什麼意思呢:
word ['-' | x <- word]
的'replicate'版本不具有無限字符串的工作。 – melpomene
是的。我想這在這裏不可能。 – smarx
@melpomene不,但在轉向功能中使用的== ==。無限列表在這裏不是真正的問題。 – Cubic