Я делаю домашнюю работу coursera. Может ли кто-нибудь объяснить мне, почему этот код работает:sml pattern не вижу связанной переменной
fun remove_card(cs: card list, c: card, except:exn)=
case cs of []=>raise except
| x::xs =>(case (x=c) of true=> xs
| _ => x::remove_card(xs,c,except))
но здесь он говорит «шаблон избыточен», как если бы c не был определен?
fun remove_card(cs: card list, c: card, except:exn)=
case cs of []=>raise except
| x::xs =>(case x of c=> xs
| _ => x::remove_card(xs,c,except))
?
Еще одна вещь, которая помогает - перейти к «cs as x :: xs» в объявлении функции, но почему это помогает?