Controleren of een directory bestaat

Haskell:
Controleren of een directory bestaat

Hoe te:

Haskell gebruikt het directory-pakket voor interacties met het bestandssysteem. Installeer het met het commando cabal install directory als je dat nog niet hebt gedaan. Zo controleer je een directory:

import System.Directory (doesDirectoryExist)

main :: IO ()
main = do
    let dir = "pad/naar/jouw/directory"
    exists <- doesDirectoryExist dir
    putStrLn $ "Bestaat de directory? " ++ show exists

Als dir bestaat, zal je uitvoer zijn:

Bestaat de directory? True

Anders zal het tonen:

Bestaat de directory? False

Diepere Duik

Vroeger had je misschien direct met systeemaanroepen gewerkt of bibliotheken gebruikt die minder geabstraheerd waren dan directory. Nu doet dit Haskell-pakket het zware werk.

Alternatieven? Je zou lagere niveaubewerkingen van het unix-pakket kunnen gebruiken, shell-commando’s kunnen aanroepen of je eigen FFI-bindings kunnen schrijven. Allemaal overkill voor zo’n eenvoudige controle.

Onder de motorkap gebruikt doesDirectoryExist systeemspecifieke aanroepen om de aanwezigheid van de directory te verifiëren zonder een uitzondering te gooien. Het is een IO-actie, vandaar de noodzaak voor de main-functie en IO ().

Zie Ook

Andere bronnen om te overwegen: