如何在函数内使用List.nth

时间:2012-10-14 00:06:00

标签: ocaml

我是OCaml的新手。我正在尝试像List.length一样使用List.nth,但它不断给我一个语法错误或抱怨不匹配另一个文件中定义的接口。如果我使用List.nth

注释掉,一切似乎都能正常工作

由于

1 个答案:

答案 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的人通常认为它就像访问数组 - 即恒定时间 - 但不是。)