2011-11-12 11 views
6

Quiero tener 2 funciones recursivas diferentes en OCaml, donde cada 1 podría llamar a la otra. No está funcionando porque el que está declarado primero no puede llamar al que está declarado segundo. ¿Hay alguna forma de hacerlo funcionar sin combinar las dos funciones en 1?Cómo tener 2 funciones llamar entre sí en OCaml

Respuesta

14

Esto es lo que and es para:

let rec f x = if x < 2 then 1 else x * g (x - 1) 
and g x = if x < 2 then 1 else x * f (x - 1) 
Cuestiones relacionadas