假设我有此功能:
functionName :: notimportant => a -> ([a])
我想递归地调用此功能,并在每次调用时修改/更新返回(元组的2个元素(。问题是我不知道如何模式匹配元组,以便在列表中的每个函数的调用元素上添加(返回元组的第一个参数(。
我不理解您的问题。如果它变得更加连贯,那么这个答案也可以。
递归类似于您的函数的规范代码如下:
data Tree a = Node a [a]
unfold :: (a -> [a]) -> a -> Tree a
unfold f x = Node x $ map (unfold f) $ f x
您谈论元组。我在您的类型签名中看不到元组。