gpt4 book ai didi

haskell - 如何从元组列表中构建函数?

转载 作者:行者123 更新时间:2023-12-04 22:13:23 25 4
gpt4 key购买 nike

我想转换这个元组列表:

[(1,'a'),(2,'b') ... ]

一个可以写成这样的函数:
g :: Int -> Char
g 1 = 'a'
g 2 = 'b'
.
.
.

用例:
g 1  -- | 'a'

最佳答案

这种函数的签名是 [(a, b)] -> a -> b 。听起来像是一个普通的操作,所以let's search on Hoogle 看看它是否已经存在。哦,几乎是这样,它被称为 lookup :

lookup :: Eq a => a -> [(a, b)] -> Maybe b

lookup key assocs looks up a key in an association list.



我们需要做的是翻转前两个参数(使用 flip )并从结果中去除 Maybe (与 fromJust 组合)。结果:
g :: Int -> Char
g = fromJust . flip lookup [(1,'a'),(2,'b'),(3,'c')]

关于haskell - 如何从元组列表中构建函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16764831/

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