gpt4 book ai didi

list - 列表中最新的非空值

转载 作者:行者123 更新时间:2023-12-03 23:58:32 25 4
gpt4 key购买 nike

我最近开始学习 Haskell,希望您能帮助解决一个列表转换问题。

我有一个自定义数据类型的 Maybe 列表,为本论坛简化为字符串,我想对其进行转换以用最近看到的值替换 Nothing 值。见下文:

Input: [Nothing, Just "Hello", Nothing, Nothing, Just "World", Nothing]
Output: [Nothing, Just "Hello", Just "Hello", Just "Hello", Just "World", Just "World"]

这在 Haskell 中可行吗?任何指针将不胜感激。

最佳答案

这是一种非常简洁优雅的实现方式:

import Control.Applicative

f = scanl1 (flip (<|>))

正在做f [w,x,y,z]产量 [w, x <|> w, y <|> x <|> w, z <|> y <|> x <|> w] , 和链接 Maybe<|>给你第一个是Just , 或 Nothing如果他们都是Nothing .

关于list - 列表中最新的非空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66360493/

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