我想应用存储在列表中的函数
let functions = [(fun () -> print_string "fun 1"); (fun () -> print_string "fun 2")]
使用像List.iter这样的高阶函数,来显示“fun 1”和“fun 2”
有办法做到这一点吗?
最佳答案
方法如下:
List.iter (fun f -> f()) functions
您的列表由带有签名 unit -> unit
的函数组成。因此,如果您提供 ()
作为每个函数的参数,它们将返回 unit
,这显然可以在 List.iter
中使用。
关于list - 执行函数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9054613/