gpt4 book ai didi

elm - 筛选,也许, Elm

转载 作者:行者123 更新时间:2023-12-04 16:38:25 27 4
gpt4 key购买 nike

我有一个List (Maybe a),我想过滤出Nothing的实例。我大概已经做到了,但是对所需的代码量却不满意:

removeNothingFromList : List (Maybe a) -> List a 
removeNothingFromList list =
List.foldr
(\cur list ->
case cur of
Just val ->
val :: list

Nothing ->
list
)
[]
list

在js中,该类比仅通过 const removeNothingFromList = (list) => list.filter(item => item)即可完成,我希望这只是我的经验不足,使我无法看到一种简洁的解决方案。

此外,通常是否有一种检查类型的方法(从铸模转换为bool),或通常在类型上进行过滤?

最佳答案

您可以通过将核心程序包中的两个元素组合在一起来实现您的目标:

removeNothingFromList : List (Maybe a) -> List a 
removeNothingFromList list =
List.filterMap identity list

关于elm - 筛选,也许, Elm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48343925/

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