在可变状态下的迭代

时间:2017-02-18 22:13:23

标签: iteration mutable ml

我想编写一个函数来接受一个对列表元素执行操作的函数,并接受列表作为参数。我正在尝试使用匿名函数进行练习,并在不使用OCaml中的内置iter的情况下遍历列表。 我还写了一个测试用例,当这个函数完成时应该通过。我正在努力弄清楚如何做到这一点,因为我想在不返回任何内容的情况下对每个元素执行操作,而是通过此迭代操作更新列表。

这就是我的开始,并希望保持这种格式: 有什么建议?任何帮助将不胜感激。

let rec iteration (f: 'h -> unit) (l: 'h list) : unit =



let test () : bool =
let list = [1; 2; 3] in
iteration (fun r -> r * 2) list;
list = [2; 4; 6]
;; run_test "iteration" test

0 个答案:

没有答案