从浮点数列表中获取第 n 个元素

Getting nth element from a list of floats

如果我有一个浮动列表:

let float_list = [1.5,2.5,3.5]

我希望从此列表中提取类似于以下内容的数字:

List.nth float_list 2

然而,return编辑的是类型 float * float 而不是 3.5。 List.nth 似乎只是 return 整数列表中的整数,我似乎无法在 https://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html 中找到一个函数到 return 除整数以外的任何列表的第 n 个元素列表。

有人能帮忙吗?

OCaml 中的列表文字使用 ; 来分隔项目。 , 用于分隔元组中的项目。所以float_list的类型实际上是(float * float * float) list,它只包含一个元素。

您的 float_list 不是一个浮点数列表,它是一个 float * float * float 元组列表,并且它只包含一个这样的元组。因此,除了没有您想要的类型之外,List.nth float_list 2 实际上会在 运行 时导致异常,因为 2 不是该列表的有效索引。

你要[1.5; 2.5; 3.5],其实就是一个浮点数列表。使用该列表 List.nth 将完全按照您的意愿工作。