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.