我有一个名为 bounds1Accum 的函数。这个功能很好用
bounds1Accum :: [Integer] -> Integer -> Integer -> (Integer, Integer)
bounds1Accum l min max = (minimum (min:l), maximum (max:l))
我遇到的问题是我需要另一个名为 bounds1 的函数,它只接受一个列表并返回一个最小最大对。这个函数应该环绕 bounds1accum 并首先检查传递给它的列表是否为空。如果列表为空,它将返回 Nothing 或仅返回调用 bounds1Accum 函数的结果。
我需要两个箱子,我有我的签名
bounds1 :: [l] -> Maybe(min,max)
bounds1 [] = Nothing (which I am unsure if this will be correct)
然后第二种情况是我最初遇到的困难
bounds1 l min max = if null l then Nothing else Just $ bounds1 bounds1Accum min max
但这甚至没有编译,所以如果有人可以提供建议或其他方式我可以查看这个问题,那就太好了。这是一个作业,所以我不想要答案,但更多的是指导或帮助解决问题。谢谢