【问题标题】:In a sequence of tuples, can I find one given some criteria?在一个元组序列中,我能找到一个给定标准的元组吗?
【发布时间】:2010-10-04 19:07:38
【问题描述】:

例如,我想找到日期最短的元组。我试过这个

let dateRange2 (prices: seq<System.DateTime * float>) =
    let tupleWithMinDate = prices |> Seq.min(fun (date, _) -> date)
    tupleWithMinDate

在管道操作员的所有权利下得到一个红色波浪线。它说“类型'(seq ->'a)'不支持'comparison'约束。例如,它不支持'System.IComparable'接口”

不确定返回泛型类型是否是问题的一部分 - 我假设 Seq.min 会知道返回构成序列的类型。

【问题讨论】:

    标签: f#


    【解决方案1】:
    let dateRange2 (prices: seq<System.DateTime * float>) = prices |> Seq.minBy fst
    

    【讨论】:

    • 目前在 OCaml 邮件列表中有一些关于 |> 运算符的讨论,关于为什么我们不再使用它
    【解决方案2】:

    Seq.min 将序列作为其第一个(也是唯一的)参数,而不是函数。

    你想使用Seq.minBy

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-04
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2021-02-04
    • 2012-03-18
    相关资源
    最近更新 更多