Haskell 哈斯克尔:为什么我不能使用liftM线路。获取内容
我有Haskell 哈斯克尔:为什么我不能使用liftM线路。获取内容,haskell,Haskell,我有getLinesIn=liftM行。getContents比 readAndWriteIn = do list <- getLinesIn readFile是一个函数FilePath->IO String,而getContents只是IO String,因此您不能使用()操作符将其与liftM行组合。你应该用 getLinesIn = liftM lines getContents 或 粘贴完整的编译器输出错误大致读取为“第二个参数()必须是函数(a0->m0 String),
getLinesIn=liftM行。getContents
比
readAndWriteIn = do
list <- getLinesIn
readFile
是一个函数FilePath->IO String
,而getContents
只是IO String
,因此您不能使用()
操作符将其与liftM行
组合。你应该用
getLinesIn = liftM lines getContents
或
粘贴完整的编译器输出错误大致读取为“第二个参数
()
必须是函数(a0->m0 String
),但它不是(IO String
)”。
getLinesIn = liftM lines getContents
getLinesIn = fmap lines getContents