November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy w sposób rekurencyjny wykonać pewną operację na wszystkich plikach i podkatalogach pewnego katalogu.
Dla ustalenia uwagi przyjmijmy pewną konkretną postać drzewa (można ją łatwo założyć za pomocą metody create_tree opisanej we wstępie do niniejszego rozdziału):
require 'create_tree'
create_tree './' =>
[ 'file1',
'file2',
{ 'subdir1/' => [ 'file1' ] },
{ 'subdir2/' => [ 'file1',
'file2',
{ 'subsubdir/' => [ 'file1' ] }
]
}
]
Najprostszym sposobem odwiedzenia wszystkich plików i katalogów w drzewie zakorzenionym w pewnym katalogu macierzystym jest załadowanie tego drzewa w całości do pamięci (za pomocą odpowiedniego symbolu globalnego) i wykonanie iteracji po wynikowej tablicy. ...