【问题标题】:Getting nth element from a list of floats从浮点数列表中获取第 n 个元素
【发布时间】:2019-09-05 16:02:56
【问题描述】:

如果我有一个浮动列表:

let float_list = [1.5,2.5,3.5]

我希望从此列表中提取一个数字,类似于:

List.nth float_list 2

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

有人可以帮忙吗?

【问题讨论】:

    标签: ocaml ml


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        • 1970-01-01
        • 2013-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        相关资源
        最近更新 更多