23.5. Usuwanie plików, których nazwy spełniają kryteria określone przez wyrażenie regularne
Podziękowania dla Matthew Palmera
Problem
Chcemy usunąć niektóre pliki z wybranego katalogu. Nazwy tych plików są na tyle zróżnicowane, że nie można reprezentować ich wszystkich za pomocą jednolitego szablonu globalnego, dają się one jednak reprezentować za pomocą pewnego wyrażenia regularnego.
Rozwiązanie
Metoda Dir.entries
zwraca tablicę zawierającą wszystkie pliki z danego katalogu. Tablicę tę można przetwarzać w pętli za pomocą instrukcji #each
. Metoda usuwająca pliki, których nazwy spełniają wzorzec wyrażenia regularnego, może przyjąć następującą postać:
def delete_matching_regexp(dir, regex) Dir.entries(dir).each do |name| path = File.join(dir, ...
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.