我试图让一个元组列表以一种特定的方式存储一些信息。如scotland
属于uk
,england
属于uk
,等于是两个字符串作为参数(String -> String -> Bool
)做出这样的:Haskell:如何比较元组?
Main> owns "china" "beijing"
True
Main> owns "uk" "beijing"
False
这里是我的代码:
lst = [("uk","scotland"),("uk","england"),("uk","wales"),("china","beijing"),("china","hongkong"),("china","shanghai")]
owns :: String -> String -> Bool
owns a b = [n|(a,b) <- lst, (n == a)] && [m|(a,b) <- lst, (m==b]
感谢您的帮助。
@user notice'lookup'只返回第一个匹配项,所以这不适合您的需要。 FUZxxl有一个很简单的构造元组并使用'elem'作为查询的好方法。 – 2011-04-13 20:20:37