tuples - number_in_month 练习(SML 函数从元组列表构建整数列表时出错)
问题描述
val test1 = [(1,5,3),(3,5,2),(3,4,5)]
fun number_in_month dates_and_month =
case dates_and_month of
(x,y,z)::xs' => y :: number_in_month xs'
当我使用 test1 在 REPL 中运行时,此代码会产生以下错误:
未捕获的异常匹配 [非详尽匹配失败] 引发于:hw1pm.sml:28.49
任何线索为什么?
解决方案
当列表为空时,它不知道该怎么做。
工作代码:
fun number_in_month dates_and_month =
case dates_and_month of
[] => []
| (x,y,z)::xs' => y :: number_in_month xs'
推荐阅读
- c++ - 校正高度映射测地球上的顶点法线
- python-3.x - 使用 super().__init__() 时我不得不向 BaseClass 添加一个虚拟参数,但不知道为什么
- .net-core - Linux 上 .NET 核心应用程序的运行时
- javascript - html内容在chrome中消失
- python - 将标准输出重定向到 multiprocessing.Pipe 引发错误
- r - 如何从参数列表创建函数列表?
- node.js - 如何从文件路径获取应用程序名称/元数据
- javascript - 如何在包含日期的字符串中找到最早的日期?
- angular - Angular Router - 延迟加载的模块无法将 URL 与参数匹配
- android - Mapbox:如何从 LatLng 获取地址字符串?