gpt4 book ai didi

haskell - 实现 GHC.Exts 'the' 函数的 Maybe 版本

转载 作者:行者123 更新时间:2023-12-02 18:58:59 26 4
gpt4 key购买 nike

GHC.Exts 导出函数 the :

the ensures that all the elements of the list are identical and then returns that unique element

此函数是部分函数,​​因为如果列表中的所有元素不相等,它会抛出错误。

如何实现返回 Maybe 的函数 theMay

最佳答案

定义如下:

the :: Eq a => [a] -> a
the (x:xs)
| all (x ==) xs = x
| otherwise = error "GHC.Exts.the: non-identical elements"
the [] = error "GHC.Exts.the: empty list"

据此我们可以直接推导出theMay:

theMay :: Eq a => [a] -> Maybe a
theMay (x:xs)
| all (x ==) xs = Just x
| otherwise = Nothing
theMay [] = Nothing

关于haskell - 实现 GHC.Exts 'the' 函数的 Maybe 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22697124/

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