List.i的未绑定值

问题描述 投票:2回答:1

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

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的初学者,任何帮助将不胜感激。

ocaml
1个回答
6
投票

List.i不存在Ocaml

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

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;;
© www.soinside.com 2019 - 2024. All rights reserved.