【发布时间】:2011-05-23 01:50:54
【问题描述】:
我的目标是编写 Haskell 函数,它从输入中读取 N 行并将它们连接到一个字符串中。下面是第一次尝试:
readNLines :: Int -> IO String
readNLines n = do
let rows = replicate n getLine
let rowsAsString = foldl ++ [] rows
return rowsAsString
这里有关于foldl的haskell投诉:
无法匹配预期类型
[a]' against inferred type(a1 -> b -> a1) -> a1 -> [b] -> a1'
据我了解,行的类型是[IO String],是否有可能将此类列表加入单个IO String?
【问题讨论】: