6.1. Czy taki plik istnieje?
Problem
Chcemy sprawdzić, czy plik o podanej nazwie istnieje i czy jest przydatny do określonych celów.
Rozwiązanie
Zasadniczo istnienie pliku o danej nazwie sprawdza się za pomocą predykatu File.file?
, zwracającego wartość true
tylko wtedy, gdy nazwa ta identyfikuje „regularny” plik — nie katalog, gniazdo ani inny specjalny strumień wejścia-wyjścia.
filename = 'a_file.txt' File.file? filename # => false require 'fileutils' FileUtils.touch(filename) File.file? filename # => true
Za pomocą predykatu File.exists?
można natomiast sprawdzić, czy podana nazwa identyfikuje jakikolwiek strumień wejścia-wyjścia, na przykład katalog.
directory_name = 'a_directory' File.exists? directory_name # => false FileUtils.mkdir(directory_name) ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.