gpt4 book ai didi

haskell - 如何创建非空列表?

转载 作者:行者123 更新时间:2023-12-02 15:22:30 24 4
gpt4 key购买 nike

我想使用Data.List.NonEmpty ,我正在搜索如何用一个元素定义一个列表?我只能用列表来罚款 nonEmpty,但显然它会返回 Maybe 而我不希望这样......

更新:我找到了这个解决方案

let emptyList = 5 :| []

最佳答案

fromList 接受任何非空列表值。

> fromList [5]
5 :| []

如果您想要一个 a -> NonEmpty a 类型的函数,那么

singleton = fromList . (:[])

(令我惊讶的是 singleton 尚未包含在包中。)

(或者正如 @Lee 在评论中提到的,singleton = pure 使用NonEmptyApplicative 实例。)

您的5解决方案:| [] 也可以,因为 :| 是创建新 NonEmpty 值的方式;这些函数只是其使用的包装。 (事实上​​,pure定义pure a = a :| [],并且fromList (a:as) =​​ a :| 作为。)

关于haskell - 如何创建非空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745041/

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