我在此代码段中不断收到未绑定的值错误:
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的初学者,非常感谢任何帮助。
答案 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;;