On Wed, 2014-12-03 at 15:38 +0200, Adrian Sevcenco wrote:
> Salut! Datele problemei : dindu-se un fisier de start sa se gaseasca
> recursiv in continut toate fisierele X din toate fisierele X mentionate
> (si tot asha) pina cind lista nu mai e updatada.
>
> Ce m-am priceput pina acum sa fac e o functie ce cauta in fisierul
> argument toate celelalte fisiere:
> search_macro()
> {
> local __resultarg=$2
> local __macro_list=`grep -e '\.C' $1 | grep LoadMacro | tr -d "
> \t\r" | awk -F"\"" '{print $2;}'`
>
> local __list=""
> for m in $__macro_list
> do
> __list=$__list" "`eval echo -e "$m"`
> done
>
> if [[ "$__resultarg" ]]; then
> eval $__resultarg="'$__list'"
> else
> echo "$__list"
> fi
> }
>
> ce imi returneaza lista de fisiere .C din fisierul argument.
>
> 1. In afara de c++ exista modalitati mai simple si elegante de a face asta?
>
> 2. Aveti idee cum se poate face conditia "list (not) updated" ?
> ( poate ceva de genul old_list=$list; list=$new_list;
> if [ "x$list" -ne "x$old_list" ] exit 0 ) ?
>
> 3. cum pot sa fac functia recursiva?
> sa fac in functia search macro o bucla peste __macro_list in care chem
> search_macro si un break cind nu mai e lista updatata?
>
> Multumesc frumos de idei!
nu prea am inteles problema de fapt, dar daca ai multe nivele poate
recursivitatea n-ar fi indicata.
in general poti evita recursivitatea cu MAP-uri , consuma mai mult ram
dar reduce complexitatea .
> Adrian
>
>
> --------------ms030409090906070607040901--
> _______________________________________________
> RLUG mailing list
> [email protected]
> http://lists.lug.ro/mailman/listinfo/rlug
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug