snc*_*pst 3 recursion ocaml functional-programming
仅使用递归(即没有任何类型的循环),给定一个元素列表,我如何每次在 OCaml 中使用该元素作为参数来为列表中的每个元素调用一个函数?Fold 和 map 不起作用,因为虽然它们对每个元素应用一个函数,但它返回我在每个元素上调用的任何函数的列表,这不是我想要的。
为了更好地说明我在 OCaml 中本质上想要做的事情,以下是我想要在 Ruby 代码中实现的想法:
arr.each {|x| some_function x}
Run Code Online (Sandbox Code Playgroud)
但我必须仅使用递归而不使用 iter 函数来完成此操作
正确的递归函数描述为:
对应的代码是:
let rec do_all f lst =
match lst with
| [] -> ()
| x :: xs -> f x; do_all f xs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10292 次 |
| 最近记录: |