【发布时间】:2012-11-28 06:05:41
【问题描述】:
这是令人困惑但有效的代码。我只是想要一些帮助来理解为什么 k::ks 被视为'list list list 而不是'list list。 我想获取一个列表和列表列表,并检查第一个列表是否是必要的。 必要的意思是,第一个列表中的所有元素是否都可以在另一个列表中找到。
fun do1(a,[],_)=false
|do1(a,k::ks,n)=if a=List.nth(k,n)orelse do1(a,ks,n) then true else false;
val n=0;
fun do2([],k::ks,_)=[]
|do2(_,[],_)=raise unexpected
|do2(l,k::ks,n)=if List.nth(l,n-1)=0 then do2(l,k::ks,n+1)
else
if do1(l,k::ks,n) then []
else l;
问题重复:我只是想要一些帮助来理解为什么 k::ks 被视为'list list list 而不是'list list。
谢谢。
【问题讨论】: