Del*_* PT 5 haskell higher-order-functions
作为大学的练习,我被要求创建一个程序来测试矩阵是否更高三角形.函数的类型是在问题中预定义的.它必须是
triSup :: Num a => Mat a -> Bool
Run Code Online (Sandbox Code Playgroud)
所以我在这里制作了这段代码:
type Mat a = [[a]]
triSup :: Num a => Mat a -> Bool
triSup m = all (==0) (zero m)
zero :: Num a => Mat a -> [a]
zero m = concat (zipWith ($) (zipWith ($) (replicate (length m) take) [0..((length m)-1)]) m)
Run Code Online (Sandbox Code Playgroud)
问题是,ghci说他无法将我的数字a与0进行比较(我不明白为什么顺便说一句).它说我需要Eq a,即使我不能改变函数的类型.我需要帮助.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |