执行功能列表

cod*_*nk1 2 ocaml function list

我想应用存储在列表中的函数

let functions = [(fun () -> print_string "fun 1"); (fun () -> print_string "fun 2")]
Run Code Online (Sandbox Code Playgroud)

使用像List.iter这样的高阶函数来显示"fun 1"和"fun 2"

有没有办法做到这一点 ?

pad*_*pad 5

这是做到这一点的方法:

List.iter (fun f -> f()) functions
Run Code Online (Sandbox Code Playgroud)

您的列表包含带签名的函数unit -> unit.因此,如果您()作为每个函数的参数提供,它们将返回unit显而易见的内部使用List.iter.