Vlastne by se ta funkce print_tree
mela volat takto:
print_tree($out, $cur_elem, $recursion_lvl, $enum_label);
(Nejsem moc velkym priznivcem volani fci bez zavorek.) Nicmene dalo by se to upravit tak, aby bylo mozno ji zavolat s nebo bez toho $out
a sice ze bychom testovali zda prvni argument je reference na IO nebo ne. Mne to prislo pro tento priklad zbytecne.
Zbytecne to bude mozna i celkove, jelikoz pokud bych chtel tisknout na STDOUT, tak si tam tu referenci predam. Na druhou stranu kdybych chtel naznacit, ze nektere argumenty jsou volitelne, udelal bych funkci tak abychom ji mohli volat pomoci pojmenovanych parametru a pak bychom mohli vynechat i "inicializacni hodnoty", tj. print_tree(out => $neco)
nebo print_tree()
.
Co se tyce vynechane carky po $out
a zejmena moznost ze to tam muze a nemusi bejt (ala print
), tak pokud mi neco neuniklo tak to nejak jednoduse zaridit nejde (ci snad vubec). Maximalne muzeme pomoci prototypovani dosahnout funkce ktera se chova podobne jako preddefinovane map
nebo grep
, cili ve stylu moje_f { neconeco } argumenty
. Pokud se mylim, tak me prosim nekdo opravte.