Vorrei elencare tutte le sottocartelle di una cartella in Haskell. Ottenere tutti i contenuti delle cartelle è facile, c'è una funzione getDirectoryContents
. Ma come li filtro? Dal momento che getDirectoryContents
restituisce un IO [FilePath]
e filter
si aspetta [a]
, non riesco a mettere questi due direttamente insieme. (. Ovviamente, io sono un pesce fresco con monadi e fare notazione)Come trovo tutte le sottocartelle di una cartella?
getAllFolders :: FilePath -> IO [FilePath]
getAllFolder path = do
allItems <- getDirectoryContents path
-- now what? the predicate is doesDirectoryExist
Grazie! C'è un ulteriore problema con percorsi di file relativi/assoluti, ma posso capirlo. – zoul
Questo problema con i percorsi relativi mi fa inciampare costantemente - al punto in cui ho inventato una biblioteca solo per aggirarla! Inoltre, 'getDirectoryContents' restituisce sempre' .' e '..', che è fastidioso. – MathematicalOrchid
'> =>' mmmm. Ci piace '> =>'. – AndrewC