answerFalse::Int->IO()
answerFalse hp=do
hp--
if hp<=0 then
putStrLn"================Game Over================"
else
print(hp)
我已經和值3 聲明馬力爲INT現在我的問題是,當我把「hp--」,它顯示錯誤哈斯克爾減法錯誤
Couldn't match expected type `IO a0' with actual type `Int'
,但如果我把「--hp 「,結果打印是3不是2.
我也試過讓hp = hp-1,系統卡在那裏。
Haskell不是C.你不能簡單地去改變變量的值! – Thomas 2012-02-11 16:13:40
Haskell是一個函數式語言,而不是一個命令式的語言,所以像 - 和++這樣的東西將不起作用。 – mrlee 2012-02-11 16:15:45
感謝您的解釋.. – user1151874 2012-02-11 16:29:47