我在main=do块中有以下代码:
let finalList = mergeKey x
mergeKey
采用类似[("Hi",1),("Hello",2),("Hello",3)]
的键值对列表,并将具有相同键参数的所有值相加。所以finalList
就是[("Hi",1),("Hello",5)]
我想把这个列表输出到终端,这样我就知道我的函数mergeKey正在正常工作。然而,我对如何使用print
来实现这一点感到困惑。我知道我将不得不使用mapM,因为finalList是一个列表,所以我尝试了这个:
mapM print finalList
但是,它给了我一个意外的类型错误。我是不是用错了print和mapM函数?
您可以直接打印列表,因此print finalList
应该可以工作。您可能得到的类型错误是mapM
返回IO [a]
,而main
应该返回IO ()
。请尝试使用函数mapM_
。