在ML中工作我有一个递归函数,用if,then,else样式编写。该函数有两个基本情况,Null List和Null尾部列表。第一个基本案例很容易转换为模式匹配样式。
if(Null L) then false
变为
fun oddNum(nil) = false
我不确定如何在模式匹配样式中编写其他基本情况。
else if (Null tl(L)) then true
我试过这个
| oddNum(nil(tl(L)) = true
我的问题是,在我写第二个基本案例之前,我不知道如何将列表L声明为x :: xs“| oddNum(nil(tl(L))= true”
答案 0 :(得分:4)
fun oddNum nil = false
| oddNum (_::nil) = true
| oddNum (_::_::xs) = oddNum xs