我想创建一个函数 apply,它接受具有任意数量参数的函数以及整数列表,并返回函数的结果(其中列表中的每个整数都是按顺序排列的参数。
我在想这样的事情:
apply :: ([Int] -> Int) -> [Int] -> Int
apply f x:xs = apply (f x) xs
apply f [] = f
但我知道这行不通,因为类型签名是错误的 - 该函数不接受整数列表,它只接受一些整数参数。
此外,当我到达基本情况时,要应用的 f 参数实际上应该是一个整数,无论如何都违反了类型签名。
有谁知道如何处理此类问题?
我想创建一个函数 apply,它接受一个带有任意数量参数的函数以及一个整数列表,
你为什么要这样做?也许你的参数结构应该作为数据结构传递,但到目前为止你已经过度限制了问题以确保它不会产生惯用的 Haskell 解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)