【发布时间】:2013-02-14 00:44:11
【问题描述】:
以下代码:
postImportR = do
fi <- lookupFiles "file"
fc <- lift $ fileSource (fi !! 0) $$ consume
似乎可以工作(至少我可以“liftIO $ print fc”),将其拆分为用于迭代的函数不起作用:
process :: [FileInfo] -> [String]
process [] = []
process (f:r) = do
fn <- fileName f
fc <- lift $ fileSource f $$ consume
([fn] : (process r))
postImportR = do
fi <- lookupFiles "file"
process fi
甚至使用 lambda 函数:
files <- L.map (\f -> (fileName f, lift $ fileSource f $$ consume)) fi
在处理程序中它给了我一个我不明白的类型错误。
我的错在哪里——喜欢从文件的行中生成用于数据库导入的内容(当然,还要学习更多 Haskell)。
【问题讨论】: