【发布时间】:2017-03-30 14:07:01
【问题描述】:
在我的课程作业中,我收到了以下问题;
定义一个函数
flatten :: [(Char,Int)] -> String
将字符和数字对列表展平为字符串。例如:
flatten [('a',5),('b',4),('c',2)]
"a5b4c2"
flatten [('d',9),('d',3)]
"d9d3"
我的问题是,每当我尝试定义此函数时,都会收到与 [(Char, Int)] 输入相关的类型错误。例如;
Couldn't match type '(Char, Int)' with '[Char]' Expected type: [[Char]] Actual type: [(Char, Int)]
我已经尝试了更多的方法来编写这个定义,而且我数不清,所以我没有任何特定的代码要显示,也没有任何特定的错误(我不断收到不同的错误……太多了)。到目前为止,我所拥有的是;
flatten :: [(Char, Int)] -> String
flatten [] = []
我想我的下一行应该是这样的;
flatten ???? = concat (????)
但我不知道用什么来代替这些问号,而且 Google 搜索/课堂笔记没有提供可遵循的示例。 有什么想法吗?
【问题讨论】:
标签: haskell