Проверка на равенство в списках в SML - PullRequest
2 голосов
/ 29 сентября 2010

я хочу написать функцию, которая проверяет равенство списков в SML например : [1,2,3] = [1,2,3]; val it = true: bool

Итак, вместо того, чтобы записывать все целиком, я хочу создать функцию, которая берет два предопределенных списка и сравнивает их, так что если list01 = [1,2,3] и list09 = [1,2,3] тогда fun равно (list01, list09); вернет -val это = true: bool;

Спасибо заранее за любые идеи / подсказки и помощь:)

Ответы [ 2 ]

7 голосов
/ 29 сентября 2010

Вы, похоже, знаете, что = работает со списками, поэтому (как я уже сказал в моем комментарии) я не понимаю, почему вам нужно определить функцию equal.

Как говорится, вы можете просто написать:

fun equal (a, b) = (a = b);
1 голос
/ 29 сентября 2010

Вот не проверенный образец:

fun compare ([], []) = true # both empty
    |   compare (x::xs, y::ys) = (x = y) and compare(xs,ys)
    |   compare (_, _) = false # different lengths
...