haskell - Haskell 递归中的非详尽模式
问题描述
我正在尝试编写一个函数,它可以让我知道列表中每个区域之间的距离。该函数distance
将两个区域之间的距离作为Int
一个集合数组提供给我,我想遍历整个列表以总结每个区域与其在列表中的追随者之间的距离。
但我得到了
非穷举模式
错误信息。我忽略了什么?该功能distance
正在正常工作。
lengthr :: [district] -> Int
lengthr [] = 0
lengthr (a:b:as) = (distance a b) + lengthr (b:as)
解决方案
我在代码中添加了这一行lengthr [a] = 0
,以掩盖只剩下一个元素的情况,现在代码按预期工作!
推荐阅读
- pdf - TJ 数组值的计算
- python - 我无法在我的 pygame 中移动我的精灵
- python - (AttributeError:“NoneType”对象没有属性“格式”)
- node.js - DHT torrent 索引站点如何有效地抓取 infoHash?
- css - 实现导航栏链接条件渲染
- python - 邮递员之外的 Netsuite REST Web 服务 API GET 请求
- excel - 如何检查VBA中的单元格是否为空白
- vue.js - 有什么解决方案可以在 vuetify 和 bootstrap-vue 上合并两个 vue 应用程序
- html - 仅通过 CSS 仅在子元素上禁用指针事件
- latex - 为什么瑞典字母不能与 fancyhdr 一起用于 laTex pandoc 转换?