【发布时间】:2015-12-18 17:22:09
【问题描述】:
我在 Haskell 中创建了一个函数,其中我有一个元组列表,并且只想提取每个元组的第二个值并返回元组的第二个值的列表。我写了这个函数,但我得到了一个奇怪的错误..
--converts a list of tuples to single list
tupleToList :: [Stat] -> [Int]
tupleToList ((a,b):xs) = b : tupleToList xs
我在第二行 (a,b) 之后的 ':' 上出现错误。任何想法可能导致问题?该函数本身对我来说似乎没有错,但我是 Haskell 的新手,所以可能有些事情我没有正确遵循。
【问题讨论】:
-
顺便说一下,'Stat' 是一种类型,它是以下形式的元组:(String,Int)
-
“我得到一个错误” - 什么错误?代码对我来说也很好。也许包括一个最小的工作示例(包括导入、类型定义等)。
-
你所拥有的是在这里工作,所以错误可能在你的文件中的其他地方 - 顺便说一句:似乎你只想要
tupleToList = map snd反正 -
@HassanAli 您发布的代码中没有解析错误。同样,请提供一个最低限度的工作示例。
-
我赞成使用
map snd。您的版本不处理空列表,因此最终会出错。