【发布时间】:2019-02-12 13:33:57
【问题描述】:
我正在编写一个递归函数 move,它接受两个列表并将第一个列表中的元素以相反的顺序插入到第二个列表中。..
我们有一个预定义的列表数据类型
type ilist = E | L of int * ilist
例如:
move L(2, L(3, E)) L(1, L(2, E))
会给我
L(3, L(2, L(1, L(2))))
我认为我的代码存在语法错误。也不确定我是否可以使用 cons 预先设置,因为它是预定义的列表数据类型。任何帮助表示赞赏!
let rec move l r =
match l with
| E -> []
| L(h,E) -> h::r
| L(h,t) -> move t r
【问题讨论】:
标签: list recursion f# functional-programming