OCaml - 在实现我的 rev 函数时需要一些帮助
OCaml - Need some help at implementing my rev function
我有一项任务,我必须重新编写 "list" 上的大部分不同功能。我目前在执行 rev 函数时遇到问题。
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
我有一项任务,我必须重新编写 "list" 上的大部分不同功能。我目前在执行 rev 函数时遇到问题。
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