November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy znaleźć w drzewie katalogów wszystkie pliki spełniające określone kryterium — na przykład wszystkie puste pliki, wszystkie pliki MP3, wszystkie pliki o nazwie README itp.
Należy wykorzystać metodę Find.find, przechodzącą przez drzewo katalogów i kolekcjonującą wszystkie pliki spełniające podane kryterium.
Kryterium to jest treścią bloku kodowego metody. Ścieżki wszystkich plików, dla których blok ten zwraca wartość true, gromadzone są w tablicy zwracanej jako wynik metody.
require 'find'
module Find
def match(*paths)
matched = []
find(*paths) { |path| matched << path if yield path }
return matched
end
module_function :match
end
Oto wynik, jaki zwrócić może metoda ...