因此,我一直在享受這種具有挑戰性的語言,我目前正在爲學校做一份作業。readIO解析錯誤haskell,關閉
這就是它所說的:我需要提示用戶輸入數字列表,然後顯示列表的平均值,我非常接近找出它。不過,我得到這個奇怪的語法錯誤:
"Exception: user error (Prelude.readIO: no parse)"
這裏是我的代碼:
module Main (listM', diginums', getList, main) where
import System.IO
import Data.List
diginums' = []
listM' = [1, 2, 3]
average' = (sum diginums')/(fromIntegral (length diginums'))
getList :: IO [Double]
getList = readLn
main = do
putStrLn "Please enter a few numbers"
diginums' <- getList
putStrLn $ show average'
終端提示:Enter a few #'s
我輸入:123
ERROR : Exception: user error (Prelude.readIO: no parse)
我知道我的功能正在正確計算平均值。現在我認爲我的問題是,當我從用戶那裏獲取數字列表時,我沒有正確解析它們以便爲我的平均功能鍵入Double
。
我們爲什麼要忽略縮進?您可以在這裏使縮進看起來正確,這將節省很多的痛苦。 – 2012-07-12 23:20:03
大聲笑我嘗試使它正確,但每次我點擊提交答案我的瀏覽器似乎毀了正確的縮進從文本...對不起! – Shawn 2012-07-12 23:26:04
雖然我們在討論縮進:確保使用空格而不是(實際)製表符。看起來不錯的佈局可能完全錯誤,因爲GHC將標籤解釋爲8個空格。 – Vitus 2012-07-13 01:41:00