小编IPi*_*iro的帖子

我如何设置函数的签名是正确的?

我练了一些Haskell的了解\,case.. ofMaybe更好.

我在这里有一个小函数,Nothing如果数组为空,Just y如果y等于数组xs的头部,并且Just (tail xs)y不等于数组xs的头部,则应该返回.

我将函数的返回类型设置为,Maybe a因为在一种情况下它应该返回一个Int而在另一个中[Int].

funct :: Int -> [Int] ->  Maybe a
funct = \y xs -> case xs of
            [] -> Nothing
            xs -> if ((head xs) == y)
                        then Just y
                        else Just (tail xs)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我得到它不能匹配类型的错误a[Int].是不是aMaybe a一般的还是它的事实影响了我"拿来主义"的a作为IntJust y一部分吗?

编辑:好的我的建议是bs,我Just (tail …

haskell maybe

1
推荐指数
1
解决办法
72
查看次数

为什么Float不是Monoid类型的实例?

我的问题是为什么Float不容易定义为Monoid类型的实例?我的意思是什么反对呢?Floats不具有标识元素,如果没有,为什么?另外,操作(*)(+)有关联的一组浮动的,还是?

haskell monoids

0
推荐指数
1
解决办法
205
查看次数

标签 统计

haskell ×2

maybe ×1

monoids ×1