kade e logikata?

1 отговора 73 прегледа
#1

kade e logikata?

Danni:
@chisla - sydyra cifri(n-elementi ot masiv) na elementi, koito trqbva da bydat otstraneni ot @pr
@pr - sydyrja proizvolna chislova i tekst informaciq

Celta na sledvashtite dva nachina e da otstraniat ot @pr vsichki non-digit stringove! Za celta izpolzvam rekursivno "splice"

Problema mi se reshava uspeshno po "Nachin 2" izpolzaiki 'pop @array', no ne stava sys shift, koeto i me zatrudniava da si otgovria na vyprosa - kakvo byrkam v "Nachin 1"?

Nachin 1:
sub proba {
if (@chisla) {
splice @pr, $chisla[-1], 1;
pop @chisla;
&proba;
}
}



Nachin 2:
@s=(1,2,3,4);
sub proba1 {
if(@s) {
print "
$s[0]
";
shift @s;
&proba1;
}
}[

___________________________________
MP3Team Bulgaria,
[линк]
Отговор
в отговор на the_webber #2

Re: kade e logikata?

i dvata primera trqbva da rabotqt normalno, inache ima i po elegantni metodi, primerno:

map { splice @pr, $_, 1 } @chisla;

Отговор