【问题标题】:haskell error- parse error on input '='haskell 错误 - 输入 '=' 上的解析错误
【发布时间】:2012-01-26 07:29:32
【问题描述】:

我正在编译此代码并收到“输入'='时解析错误`的错误”

import System.IO  
import Data.List.Split
main = do  
   handle <- openFile "ac/abc" ReadMode  
   contents <- hGetContents handle  
   let xs = splitOneOf "; \n " contents       
   print xs   
   readStrList contents = do 
       print contents
   hClose handle

请提出问题

【问题讨论】:

  • 你想用readStrList 线完成什么?
  • 实际上我正在尝试另一种递归方式,因为 forM_ 需要 hoogle。这很有效。谢谢

标签: haskell


【解决方案1】:

问题出在以下几行:

readStrList contents = do 
    print contents

如果你想定义readStrList,那么你需要把let放在前面:

let readStrList contents = do
        print contents

【讨论】:

  • 但是该定义不会做任何事情,因为contents 会遮蔽外部contents,并且永远不会调用该函数。 (不是说你错了,只是我无法判断这条线试图做什么,但可能不是这样。)
  • @Chuck:我认为它打算稍后在do 块中使用。但我同意,很难说出这里的意图。
猜你喜欢
  • 2018-02-19
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多