所以我正在学习Haskell上学,并在learnyouahaskell学习函数,语法和类型类,并且想知道我会创建一个以Integral列表作为参数的函数吗?
如果我正确理解这一点:
addVectors :: (Num a) => (a,a) -> (a,a) -> (a,a)
addVectors (x1,y1) (x2,y2) = (x1 + x2, y1 + y2)
Run Code Online (Sandbox Code Playgroud)
addVectors接受两组,基本上所有参数都必须是Number类?但是,如果我想要它列入数字或积分列表呢?
addList :: (Integral [b]) => [b] -> [b]
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用.
addList :: (Integral b) => [b] -> [b]
Run Code Online (Sandbox Code Playgroud)
这里我们说b类型必须是一个实例Integral,并且addList接受并返回一个bs 列表.