OCaml求和

Sup*_*sor 4 ocaml

我正在尝试在OCaml中创建一个函数,它在数学中执行求和函数.我试过这个:

sum n m f =
    if n = 0 then 0
    else if n > m then f
    else f + sum (n + 1) m f;;
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个错误 - "字符41-44:否则f*sum(n + 1)mf ;;错误:未绑定的值和和加下划线(有胡萝卜标志指向它)

我看着这个:简单的OCaml练习 这是同样的问题,但我看到很多其他我没有的东西.例如,对于我的n = m情况,我没有fn,然后在else情况下,我没有f m.

如果你想让函数返回一个整数,你为什么需要fn?D:有什么问题!?提前致谢.

Kri*_*ski 13

你忘了rec.

let rec sum n m f = ...

对于递归函数,您必须手动包含"rec"关键字.