我是OCaml的新手。我正在尝试像List.length一样使用List.nth,但它不断给我一个语法错误或抱怨不匹配另一个文件中定义的接口。如果我使用List.nth
注释掉,一切似乎都能正常工作由于
答案 0 :(得分:4)
除非您显示不起作用的代码,否则很难提供帮助。这是一个使用List.nth的会话:
$ ocaml
OCaml version 4.00.0
# let x = [3;5;7;9];;
val x : int list = [3; 5; 7; 9]
# List.nth x 2;;
- : int = 7
#
这是一个定义使用List.nth
的函数的会话。 (这没什么特别的。)
# let name_of_day k =
List.nth ["Mon";"Tue";"Wed";"Thu";"Fri";"Sat";"Sun"] k;;
val name_of_day : int -> string = <fun>
# name_of_day 3;;
- : string = "Thu"
#
(作为旁注:使用List.nth
通常是不合适的。需要与n
成比例的时间才能找到列表的第n个元素。刚开始使用OCaml的人通常认为它就像访问数组 - 即恒定时间 - 但不是。)