如何在函数内使用List.nth

Buf*_*alo 0 ocaml

我是OCaml的新手。我试图像List.length一样使用List.nth,但是它一直给我一个语法错误,或者抱怨与另一个文件中定义的接口不匹配。如果我使用List.nth注释掉,一切似乎都正常

谢谢

Jef*_*eld 5

除非您显示不起作用的代码,否则很难提供帮助。这是一个使用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
#
Run Code Online (Sandbox Code Playgroud)

这是定义使用的函数的会话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"
# 
Run Code Online (Sandbox Code Playgroud)

(旁注:使用List.nth通常是不合适的。n找到列表的第n个元素需要花费时间。与OCaml开头的人们经常认为它就像访问数组一样(即恒定时间),但事实并非如此。 )