我试图用未配对元素(使用递归)填充ma lazylist,从元素k开始。例如:k= 2,list是[2,3,5,7,9,...]代码:
let lgen =
let rec gen k = LCons(k, fun () -> gen k (k + 2))
in gen 1;;但是我怎样才能检查元素k是不成对的呢?(我认为在这里我需要使用match)。
发布于 2017-11-22 22:26:25
假设您的懒散列表类型如下所示:
type 'a llist = LNil | LCons of 'a * (unit -> 'a llist);;您可以像这样进行模式匹配:
let rec lfind e lxs =
match lxs with
| LNil -> false
| LCons(x, _) when x > e -> false
| LCons(x, xs) -> if e=x then true else lfind e (xs ())
;;https://stackoverflow.com/questions/47444319
复制相似问题