Haskell:
Kiểm tra xem thư mục có tồn tại không
Làm thế nào:
Haskell sử dụng gói directory
cho các tương tác hệ thống tệp. Cài đặt nó bằng lệnh cabal install directory
nếu bạn chưa cài đặt. Dưới đây là cách bạn kiểm tra một thư mục:
import System.Directory (doesDirectoryExist)
main :: IO ()
main = do
let dir = "path/to/your/directory"
exists <- doesDirectoryExist dir
putStrLn $ "Thư mục có tồn tại không? " ++ show exists
Nếu dir
tồn tại, đầu ra của bạn sẽ là:
Thư mục có tồn tại không? True
Ngược lại, nó sẽ hiển thị:
Thư mục có tồn tại không? False
Sâu hơn
Trước đây, bạn có thể đã đối mặt trực tiếp với các lời gọi hệ thống hoặc sử dụng các thư viện ít trừu tượng hơn directory
. Bây giờ, gói Haskell này thực hiện phần nặng nhọc.
Có phương án thay thế không? Bạn có thể sử dụng các thao tác cấp thấp hơn từ gói unix
, gọi lệnh shell, hoặc viết các liên kết FFI của riêng bạn. Tất cả đều là quá mức cho một kiểm tra cơ bản như vậy.
Bên dưới, doesDirectoryExist
sử dụng các lời gọi cụ thể của hệ thống để xác minh sự hiện diện của thư mục mà không gây ra ngoại lệ. Đó là một hành động IO, do đó cần có hàm main
và IO ()
.
Xem Thêm
Các nguồn lực khác để xem xét:
- Tài liệu Haskell địa phương của bạn:
file:///usr/share/doc/ghc/html/libraries/directory/System-Directory.html
- Hackage cho gói
directory
: https://hackage.haskell.org/package/directory