奇妙な場所でパースエラーがスローされますが、それでもイライラ:Haskellはおもちゃの例
numberMapper:: IO()
numberMapper = do codes <- forM [1 .. 4] (\num ->
do putStrLn $ "Enter a code for " ++ show num
code <- getLine
return code)
let numberCodes = zip [1 .. 4] codes
in forM numberCodes (\(num,code) ->
putStrLn $ "Got code " ++ show code ++ " for " ++ show num)
ghci
私はParse error in pattern: putStrLn
を持っており、それが構文解析に失敗する理由を私は理解できないと言われます。
doブロックとセミコロンの中括弧を各 'ステートメント'の末尾に追加すると、これはうまく動作しますが、推奨される解決策ですか? (少し機能していないようです:P) – agam
セミコロンと中括弧はすでに存在していますが、目に見えないふりをすることができます。 (自動ブレースとセミコロンがどこに行くのかについての規則があります) –