Я хотел бы перечислить все подпапки папки в Haskell. Получение всего содержимого папки легко, есть функция getDirectoryContents
. Но как их фильтровать? Поскольку getDirectoryContents
возвращает IO [FilePath]
, а filter
ожидает [a]
, я не могу поместить эти два непосредственно вместе. (. Очевидно, я свежая рыба с монадами и делать-обозначение)Как найти все подпапки папки?
getAllFolders :: FilePath -> IO [FilePath]
getAllFolder path = do
allItems <- getDirectoryContents path
-- now what? the predicate is doesDirectoryExist
Спасибо! Есть дополнительная проблема с относительными/абсолютными файловыми путями, но я могу понять это. – zoul
Эта проблема с относительными путями постоянно меня отключает - до такой степени, что я придумал библиотеку, чтобы обойти ее! Кроме того, 'getDirectoryContents' всегда возвращает' .' и '..', что раздражает. – MathematicalOrchid
'> =>' мммм. Нам нравится '> =>'. – AndrewC