作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想转换这个元组列表:
[(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/
我是一名优秀的程序员,十分优秀!