OCaml-需要一些帮助来实现我的rev功能吗
我有一个任务,我必须对“列表”中的大部分不同函数重新编码。我目前在执行rev功能时遇到问题OCaml-需要一些帮助来实现我的rev功能吗,ocaml,reverse,Ocaml,Reverse,我有一个任务,我必须对“列表”中的大部分不同函数重新编码。我目前在执行rev功能时遇到问题 type 'a my_list = | Item of ('a * 'a my_list) | Empty;; 这是允许我们使用的列表类型,以下是我尝试使用的列表类型: let rev my_list = let rec rev_list list = function | Empty -> list | It
type 'a my_list =
| Item of ('a * 'a my_list)
| Empty;;
这是允许我们使用的列表类型,以下是我尝试使用的列表类型:
let rev my_list =
let rec rev_list list = function
| Empty -> list
| Item (first, rest) -> rev_list (Item (first, list))
rest in rev_list Empty;;
原型的rev功能有:
'a list -> 'a list:
这就是我得到的:
'a -> 'b my_list -> 'b my_list
有什么建议吗?编辑:嗯,就在我发布问题的时候,我找到了答案,如果它对任何人都有帮助,就在这里
let rev my_list =
let rec rev_list list = function
| Empty -> list
| Item (first, rest) -> rev_list (Item (first, list))
rest in rev_list Empty my_list