我必须根据以下签名定义一个函数:
indexList :: [a] -> [(Int, a)]
该函数应该将列表元素解压缩为一个元组-元组的第一部分是元组到列表末尾的距离-第二部分是原始元素本身。(必须是递归的,我不能使用length函数)。
期望此测试为真:
indexList [True, False, True] == [(2, True), (1, False), (0, True)]
到目前为止,我已经做到了这一点:
indexList [] = []
indexList (x : xs) = ({-HowFarIsIt-}, x) : indexList xs
1条答案
按热度按时间jaxagkaj1#
你可以查看结果的下一个元组的结果,所以:
在这里我将填写
…
作为练习。您还可以使用helper函数来启用总体模式匹配: