【发布时间】:2016-11-13 19:53:04
【问题描述】:
我正在尝试编写一个接受字符串和元组对列表的函数。我想搜索元组列表,如果元组中的第一个值与输入字符串匹配,我想返回该对中的第二个值。我相信它的功能类似于lookup 功能,但我不确定如何实现它。到目前为止,这是我的想法:
search :: a -> [(a,b)] -> Maybe b
search a (x:xs) = if a == first value in x, return second value in x
-- If a is not in the list of tuples, return "Nothing"
这方面的一个例子是:
search "x" ([("x", 3), ("z", 5)]) = 3
search "x" ([("y", 3), ("z", 5)]) = Nothing
【问题讨论】:
-
什么是
S?这与lookup有何不同完全? -
我删除了那个 S,抱歉,它来自一个错误尝试的代码。因为查找返回“Just x”而不是“x”。
-
是的,但是如果返回类型是
Maybe b,那么你只能返回Just x。x本身的类型错误(b,而不是Maybe b)。 -
啊好吧我明白了!谢谢!
标签: haskell