Выполнение списка функций - PullRequest
2 голосов
/ 29 января 2012

Я хотел бы применить функции, хранящиеся в списке

let functions = [(fun () -> print_string "fun 1"); (fun () -> print_string "fun 2")]

с функцией высшего порядка, такой как List.iter, для отображения «fun 1» и «fun 2»

Есть ли способ сделать это?

1 Ответ

5 голосов
/ 29 января 2012

Вот способ сделать это:

List.iter (fun f -> f()) functions

Ваш список состоит из функций с подписью unit -> unit. Поэтому, если вы предоставите () в качестве параметра для каждой функции, они вернут unit, что очевидно для использования внутри List.iter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...