帮助sml-陷入困境
如何声明函数,使Listn:“”a list->“”a list->bool,Listn xs和ys返回true。 示例:lisen[#“1”#“2”],[#“1”#3”]返回false,并[#“1”,#“2”[#“2”,#“1”]返回true尝试以下操作:帮助sml-陷入困境,sml,Sml,如何声明函数,使Listn:“”a list->“”a list->bool,Listn xs和ys返回true。 示例:lisen[#“1”#“2”],[#“1”#3”]返回false,并[#“1”,#“2”[#“2”,#“1”]返回true尝试以下操作: infix member fun x member [] = false | x member (y::ys) = x = y orelse x member ys; fun listn (x::xs) ys =
infix member
fun x member [] = false
| x member (y::ys) = x = y orelse x member ys;
fun listn (x::xs) ys = x member ys andalso listn xs ys
| listn [] _ = true;
listn
函数的最后一个案例将永远不会被使用。如果第一个参数不是空的,则将运行第一个案例(无论第二个参数是否为空)。如果第一个参数为空,则第二个案例将运行(无论第二个参数是否为空)。谢谢。出于某种原因,我在大学的指导老师让我把它包括在内。幸亏你在这里纠正了他的错误;)