【发布时间】:2014-01-31 08:54:55
【问题描述】:
我刚开始学习 SML 中的函数式编程,我想知道如何将以下两个函数组合成一个函数。函数isolate使用辅助函数'removes'删除任何类型('a)列表的重复项。
fun isolate [] = []
| isolate (l as x::xs) = x::isolate(remove(x,xs))
fun remove (x,[]) = []
| remove (x,l as y::ys) = if x = y then remove(x,ys) else y::remove(x,ys)
那么,为了更好地理解 SML 中的结构,您将如何将函数 remove 包含在隔离中?这可能看起来微不足道,但我已经考虑过了,无法弄清楚。谢谢您的帮助!
【问题讨论】:
标签: recursion functional-programming sml smlnj