【发布时间】:2014-10-18 21:57:08
【问题描述】:
我正在做课程作业。谁能解释一下为什么这段代码有效:
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”,但为什么会有帮助呢?
【问题讨论】:
标签: pattern-matching sml