这是令人困惑但有效的代码。我只是想要一些帮助来理解为什么 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。
谢谢你。