나는이 어려운 언어를 즐기고 있었고, 현재 학교 과제를 진행하고 있습니다.readIO 구문 분석 오류 haskell, this close
이것은 다음과 같습니다. 사용자에게 숫자 목록을 요구 한 다음 목록의 평균을 표시해야합니다. 알아낼 정도로 가깝습니다. 그러나 나는이 이상한 구문 분석 오류를 얻을 :
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)
내가 내 기능을 알고 여기에
"Exception: user error (Prelude.readIO: no parse)"
내 코드입니다 평균을 계산하기 위해 올바르게 작동합니다. 이제 내 문제는 사용자의 숫자 목록을 가져올 때 평균 함수에 대해
Double
을 입력하기 위해 구문 분석을 올바르게 수행하지 않는다고 생각합니다.
들여 쓰기를 무시해야하는 이유는 무엇입니까? 들여 쓰기를 여기에 맞게 만들면 많은 슬픔을 줄일 수 있습니다. –
lol 나는 그것을 올바르게 만들려고 노력하지만 답변을 제출할 때마다 브라우저가 텍스트 패드에서 정확한 들여 쓰기를 망칠 것 같습니다 ... 죄송합니다! – Shawn
들여 쓰기에 대해 이야기하는 동안 : (실제) 탭 대신 공백을 사용해야합니다. GHC가 탭을 8 칸으로 해석하기 때문에 모양이 좋은 레이아웃은 완전히 잘못되었을 수 있습니다. – Vitus