Проверка существования директории

Haskell:
Проверка существования директории

Как это сделать:

Haskell использует пакет directory для взаимодействия с файловой системой. Установите его командой cabal install directory, если вы еще этого не сделали. Вот как проверить наличие директории:

import System.Directory (doesDirectoryExist)

main :: IO ()
main = do
    let dir = "path/to/your/directory"
    exists <- doesDirectoryExist dir
    putStrLn $ "Существует ли директория? " ++ show exists

Если dir существует, ваш вывод будет:

Существует ли директория? True

В противном случае он покажет:

Существует ли директория? False

Подробнее

В прошлом вы, возможно, напрямую работали с системными вызовами или использовали библиотеки, менее абстрактные, чем directory. Теперь этот пакет Haskell выполняет всю тяжелую работу.

Альтернативы? Вы могли бы использовать более низкоуровневые операции из пакета unix, вызывать команды оболочки или писать свои собственные привязки FFI. Все это излишне для такой простой проверки.

Под капотом, doesDirectoryExist использует системно-специфичные вызовы для проверки наличия директории без генерации исключения. Это действие ввода-вывода, отсюда и необходимость функции main и IO ().

Смотрите также

Другие ресурсы, которые стоит рассмотреть: