Haskell: что с этим кодом не так?
От: Аноним  
Дата: 02.08.10 09:02
Оценка:
printFileDirContent (file:dirContent) = do putStr file                   
                       if length dirContent == 1
                       then putStr "\n"
                       else putStr "end\n"
                       printFileDirContent dirContent


пишет что parse error (possibly incorrect indentation) в строке then putStr "\n".
Re: Haskell: что с этим кодом не так?
От: Аноним  
Дата: 02.08.10 09:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>
А>printFileDirContent (file:dirContent) = do putStr file                   
А>                       if length dirContent == 1
А>                       then putStr "\n"
А>                       else putStr "end\n"
А>                       printFileDirContent dirContent

А>


А>пишет что parse error (possibly incorrect indentation) в строке then putStr "\n".

Делай отступ:
printFileDirContent (file:dirContent) = do putStr file                   
                       if length dirContent == 1
                        then putStr "\n"
                        else putStr "end\n"
                       printFileDirContent dirContent
Re: Haskell: что с этим кодом не так?
От: Mr.Cat  
Дата: 02.08.10 11:17
Оценка:
Здравствуйте, Аноним, Вы писали:
А>пишет что parse error (possibly incorrect indentation) в строке then putStr "\n".
http://en.wikibooks.org/wiki/Haskell/Indentation#if_within_do
Re[2]: Haskell: что с этим кодом не так?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 02.08.10 11:57
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>>пишет что parse error (possibly incorrect indentation) в строке then putStr "\n".

А>Делай отступ:
А>
А>printFileDirContent (file:dirContent) = do putStr file                   
А>                       if length dirContent == 1
А>                        then putStr "\n"
А>                        else putStr "end\n"
А>                       printFileDirContent dirContent

А>


printFiles = mapM_ putStrLn
end = putStrLn "end"

printFileDirContent dirContent = printFiles dirContent >> end
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.