ocaml - 递归列表匹配函数中的未绑定值错误

时间:2017-09-27 09:38:41

标签: emacs ocaml tuareg

我从介绍性的ocaml课程的幻灯片中复制了一个递归列表匹配函数。

let rec fac n = match n with
     0 -> 1
     | _ -> n * fac(n-1);;

fac 3;;

我得到:"错误:未绑定的值fac"

为什么会这样?

1 个答案:

答案 0 :(得分:0)

在emacs中使用M-X tuareg-eval-buffer可以:

        OCaml version 4.02.3

# let rec fac n = match n with
     0 -> 1
     | _ -> n * fac(n-1);;

fac 3;;
    val fac : int -> int = <fun>
#   - : int = 6
# 

你可能只运行了M-X tuarge-eval-region而只选择了fac 3,因此从未定义过这个函数。