Chciałbym wyliczyć wszystkie podfoldery folderu w Haskell. Uzyskanie całej zawartości folderu jest łatwe, istnieje funkcja getDirectoryContents
. Ale jak je odfiltrować? Od getDirectoryContents
zwraca IO [FilePath]
i filter
spodziewa [a]
, nie mogę umieścić te dwa bezpośrednio ze sobą. (. Oczywiście, jestem świeżą rybę z monad i zrób notacji)Jak znaleźć wszystkie podfoldery folderu?
getAllFolders :: FilePath -> IO [FilePath]
getAllFolder path = do
allItems <- getDirectoryContents path
-- now what? the predicate is doesDirectoryExist
Dziękujemy! Dodatkowy problem dotyczy względnych/bezwzględnych ścieżek plików, ale mogę to zrozumieć. – zoul
Ten problem ze względnymi ścieżkami nieustannie mnie podnieca - do punktu, w którym wymyśliłem bibliotekę, aby ją obejść! Również 'getDirectoryContents' zawsze zwraca' .' i '..', co jest denerwujące. – MathematicalOrchid
'> =>' mmmm. Lubimy '> =>'. – AndrewC