recursion - 使用递归时 Ocaml 错误未绑定(bind)值

标签 recursion ocaml

我的代码非常基础,因为我是 ocaml 的新手 我正在尝试递归调用一个函数,但我在函数名称上收到未绑定(bind)值错误消息

let count_help x a lst = match lst with 
    [] -> a
    | (s,i)::t -> if s = x then count_help x a+1 t else count_help x a t
;;

let count_assoc lst x =
    count_help x 0 lst
;;

错误是count_help里面调用count_help那一行的Unbound value count_help

这段代码只是假设要计算给定字符 x 出现关联的次数

最佳答案

你要说

let rec count_help ...

允许在其定义中递归使用名称 count_help

关于recursion - 使用递归时 Ocaml 错误未绑定(bind)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491703/

相关文章:

ocaml - Core_kernel.Heap 和 Core_kernel.FHeap 有什么区别?

在 OCaml 中打印变量类型

ocaml - OCaml中的 "revised syntax"是什么?

c - 为什么这个函数的空间复杂度是m*n?

java - JSF 中的递归(c :forEach vs. ui:repeat)

php - 如何在 PHP 函数中获取当前递归级别

java - 递归java - 不同的是for循环不理解如何工作

ocaml - 异构列表上的这种类型错误是什么意思?

javascript - javascript 中的 URL/数组到树列表

OCaml - 返回列表所有前缀的函数