0

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

谢谢

4

1 回答 1

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
#

这是一个会话,它定义了一个使用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查找列表的第 n 个元素成正比。刚开始使用 OCaml 的人们通常认为它就像访问一个数组——即恒定时间——但事实并非如此。 )

于 2012-10-14T00:14:03.050 回答