Vous pouvez également imbriquer wrap vos fonctions et de créer deux fonctions d'ordre-supérieur qui prennent une fonction comme argument et l'appliquer.
Cela pourrait être plus que sth. comme:
let fn2 fn =
if "something happend" then
fn fn2
let rec fn1 fn =
if "something" then
fn fn1
Vous pouvez appeler que appeler votre fonction comme ceci:
let result = fn1 fn2
Si vous voulez que votre fonction soit plus explicite votre peut écrire par exemple comme:
let rec fn2 (fn:unit->unit) : unit =
if "something happend" then
fn fn2
let rec fn1 (fn:unit->unit) : unit =
if "something" then
fn fn1
Mais je pense que la réponse est qu'ils KVB meilleure façon d'aller car il est plus standard conforme et lisible.
wow, je ne savais pas, je vous remercie KVB – Racooon