【发布时间】:2017-03-04 08:56:01
【问题描述】:
我必须创建一个函数isFunction,它以一对夫妇的列表作为参数,如果考虑到每对夫妇中的第一个元素,则如果没有重复则返回 true,如果有重复则返回 false。
例如 :isFunction [(1,3);(2,40);(3,40)] 返回 true 但 isFunction [(1,3);(2,40);(1,40)] 返回 false 因为 1 重复。
目前,我的代码是:
let rec exist e = function
|[] -> false
|(a,_)::l -> e=a || exist e l;;
let rec isFunction = function
|[]->true
|(a,_)::l -> not(exist a l) && isFunction l;;
效果很好!但问题是:有没有另一种方法来定义isFunction而不定义另一个辅助函数?
【问题讨论】: