我试图返回一个True/False如果给定String是元组列表的一部分.
我有一些代码可以做到这一点,但我确信这是可行的更好的方式.这是我的代码:
givenStringExists :: String -> [(String, Int)] -> Bool
givenStringExists u [] = False
givenStringExists u (r:rs)
| u == fst(r) = True
| otherwise = givenStringExists u rs
Run Code Online (Sandbox Code Playgroud)
有什么建议可以改进吗?目前我不得不从列表中传递的过滤器调用它(因此需要Bool),并且希望能够在不必调用此函数的情况下执行此操作.
这是一个简洁的方法
givenStringExists u theList = u `elem` map fst theList
Run Code Online (Sandbox Code Playgroud)