我想应用存储在列表中的函数
let functions = [(fun () -> print_string "fun 1"); (fun () -> print_string "fun 2")]
使用像List.iter这样的高阶函数来显示“fun 1”和“fun 2”
有办法吗?
答案 0 :(得分:5)
以下是这样做的方法:
List.iter (fun f -> f()) functions
您的列表包含签名为unit -> unit
的函数。因此,如果您提供()
作为每个函数的参数,它们将返回unit
,这在List.iter
内显而易见。