首页 > 解决方案 > 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

任何线索为什么?

标签: tuplespattern-matchingsmlsmlnj

解决方案


当列表为空时,它不知道该怎么做。

工作代码:

fun number_in_month dates_and_month  =
    case dates_and_month of
        [] => []
        | (x,y,z)::xs' => y :: number_in_month xs'    

推荐阅读