2012-03-29 85 views
3

相互調用的模塊中我有一個關於ocaml的問題,我是一個初學者:-)功能,在OCaml的

這裏是我想要做的一個例子:(我知道這是無感,但它不是我真正的代碼,它只是一個例子)

let func a b = a 
let func2 a b = b 

let func_a a b = 
    if b < 0 then 
     func_b b a 
    else 
     func a b 

let func_b a b = 
    if a < 0 then 
     func2 a b 
    else 
     func_a b a 

的問題是: Unbound value func_b in the first "if" in func_a...

如果有人可以幫助?

編輯:我明白爲什麼這是解除綁定,但我不知道如何解決它。

非常感謝!

最大

回答

5

的關鍵詞是mutually recursive functions

let func a b = a 
let func2 a b = b 

let rec func_a a b = 
    if b < 0 then 
     func_b b a 
    else 
     func a b 

and func_b a b = 
    if a < 0 then 
     func2 a b 
    else 
     func_a b a 
+0

謝謝。爲我工作:-) – DCMaxxx 2012-03-29 18:17:09