Скажем, у меня есть следующий ассоциативный список:Haskell- рекурсивно проверить элементы ассоциативного списка
names = [(6548712, "Charlie Brown"), (27378912, "Linux Van Pelt"), (5831457, "Peppermint Patty")]
Я хочу, чтобы проверить, является ли данный кортеж, такие как ...
(6548712, "Charlie Brown")
... существует в ассоциативном списке.
Вот моя функция:
check :: (String,a) -> [(String,a)] -> Bool
check val (x:xs)
| x == val = True
| otherwise = check val xs
Функция не работает. Я думаю, что ошибка заключается в моем первом страже, так как я верю, что мой рекурсивный звонок правильный. Я хочу, чтобы иметь возможность сделать это, используя рекурсию, может кто-то помочь мне?
Кроме того, эта функция может быть более полиморфными. – Sibi
Это может быть более кратким: 'check :: Eq a => a -> [a] -> Bool' :) – Sibi
@Sibi Правильно, но это выглядит более понятным и понятным? :) – thefourtheye