List.i的未绑定值

Ibo*_*Ibo 2 ocaml

我在这段代码中不断收到未绑定的值错误:

let count element list =
  let counter = 0 in
    for i = 0 to List.length list do
      if element == List.i list then
        counter = counter + 1 
      else
        counter = counter
    done ;;
Run Code Online (Sandbox Code Playgroud)

代码应该从用户获取列表和值,然后计算该值在该列表中出现的次数,但我不断收到此错误:

Error: Unbound value List.i
Run Code Online (Sandbox Code Playgroud)

我仍然是Ocaml的初学者,任何帮助将不胜感激.

Pie*_* G. 6

List.i在不存在Ocaml.

您正在尝试检查列表的 i 元素是否等于元素.

List.nth 诀窍:

List.nth list i  
Run Code Online (Sandbox Code Playgroud)

代替

List.i list
Run Code Online (Sandbox Code Playgroud)

最终代码:

let count element list =
  let counter = ref 0 in
    for i = 0 to (List.length list - 1) do
      if element == List.nth list i then
        counter := !counter + 1 
      else
        counter := !counter
    done ;
 !counter;;
Run Code Online (Sandbox Code Playgroud)