Checking for equality in lists in SML
i want to write a function that checks for equality of lists in SML for instance :
[1,2,3]=[1,2,3];
val it = true : bool
So instead of writing down the开发者_如何学编程 whole thing, i want to make a function that takes two predefined lists, and compare them, so that if list01
is [1,2,3]
and list09
is [1,2,3]
then fun equal (list01, list09);
will return -val it = true : bool;
You seem to be aware that =
works on lists, so (as I already said in my comment) I don't see why you need to define an equal
function.
That being said, you can just write:
fun equal (a, b) = (a = b);
Here is a not checked sample:
fun compare ([], []) = true # both empty
| compare (x::xs, y::ys) = (x = y) and compare(xs,ys)
| compare (_, _) = false # different lengths
精彩评论