gpt4 book ai didi

types - Elm - 对多种类型进行组合和排序

转载 作者:行者123 更新时间:2023-12-04 23:42:12 24 4
gpt4 key购买 nike

上周我正在试验榆树(所以认为我是初学者)并且想知道以下内容,

我已经定义了多种类型 Foo 和 Bar 例如都带有日期字段。

type alias Foo = 
{
date : String,
check : Bool
}


type alias Bar = 
{
date : String,
check : Bool,
text : String
}

是否可以使用 sort 组合和排序两个列表?( sort )
我想这样做是为了创建一个列表来展示所有项目。

谢谢!

最佳答案

您可以创建一个联合类型,允许您拥有一个混合了 Foo 和 Bar 的列表:

type Combined
= FooWrapper Foo
| BarWrapper Bar

现在您可以组合两个 Foos 和 Bars 列表,然后使用 case声明为 sortBy范围:

combineAndSort : List Foo -> List Bar -> List Combined
combineAndSort foos bars =
let
combined =
List.map FooWrapper foos ++ List.map BarWrapper bars
sorter item =
case item of
FooWrapper foo -> foo.date
BarWrapper bar -> bar.date
in
List.sortBy sorter combined

关于types - Elm - 对多种类型进行组合和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34108525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com