List.i的未绑定值

时间:2016-12-28 11:24:06

标签: 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 ;;

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

Error: Unbound value List.i

我仍然是Ocaml的初学者,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

List.i

Ocaml不存在。

您正在尝试检查列表中的i th 元素是否等于element。

List.nth可以解决问题:

List.nth list i  
     

而不是

List.i list

最终代码:

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;;