// редактировать 5 , когда я использую только эти 2 линиивложенным, если в Haskell
index :: [String] -> [String] -> Bool
index a b = and [x `elem` a |x <- b]
он работает отлично !!!!
например:
индекс [ "ASD", "asdd", "росы"] [ "asdd", "AsdaD"]
ложных
Но когда я использую весь код, указанный ниже
empty [] = True
empty _ = False
index a b = do
if empty a
then do putStrLn "a is empty"
else return()
if empty b
then do putStrLn "b is empty"
else return()
where
index :: [String] -> [String] -> Bool
index a b = and [x `elem` a |x <- b]
Theres нет выход !! и thats вопрос я получил !!
// редактировать 6
index a b = do index'
if empty a
then do putStrLn "a is empty"
else return()
if empty b
then do putStrLn "b is empty"
else return()
where
index' :: [String] -> [String] -> Bool
index' a b = and [x `elem` a |x <- b]
благодаря
«последней линии, которая является основной функцией программы отлично работает без вложенной, если выше»: Это не будет, 'index'' даже не тип проверки ... – porges
Что касается вашего редактирования: оба фрагмента отлично работают, я не получаю ошибку «неожиданного символа». Тем не менее, вы дали двум функциям одно и то же имя, таким образом вы не можете вызывать второй «индекс» с первого. –
На ваш вопрос уже был дан ответ? – Dario