gpt4 book ai didi

list - 类似于 catMaybes 的功能,但不计算任何值

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

我有一个这样的列表:

let foo = [Just 1, Just 2, Nothing, Just 3, Nothing, Nothing]

通过使用 catMaybes 我只能提取 Just - 构造值:
catMaybes foo -- [1,2,3]

我现在正在寻找一个不仅能产生 Just 列表的函数。 s 但也是 Nothing 的计数s 通过遍历一次来获取有限列表。它应该有这样的签名:
catMaybesCount :: [Maybe a] -> ([a], Int)

注意:这个问题是问答式回答的,因此故意不显示任何研究工作!

最佳答案

import Data.Monoid
import Data.Foldable

catMaybesCount = foldMap inject where
inject Nothing = ([ ], Sum 1)
inject (Just x) = ([x], Sum 0)

关于list - 类似于 catMaybes 的功能,但不计算任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25534690/

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