У меня есть домашняя работа для функции, которая проверяет, является ли имя пользователя действительным или нет.Разрешенные символы - это подчеркивание, буквы и цифры.Мне не разрешено использовать индексирование (!!) и длину
Мой код:
isValid' :: Char -> Bool
isValid' x
| x == '_' = True
| x `elem` ['0'..'9'] = True
| x `elem` ['a'..'z'] = True
| x `elem` ['A'..'Z'] = True
| otherwise = False
isValidUsername :: [Char] -> Bool
isValidUsername x
| map isValid' x = True
| otherwise = False
Я хочу запустить функцию isValid на всех символах строки, которую я вставил вisValidUsername.Например:
isValidUsername "MyUsername_123"
должен возвращать True
isValidUsername "not@v@lidusern@me* *2"
должен возвращать False
Я просто не могу понять, как пройти через все символы моей строки.