kade e logikata?
1 отговора
73 прегледа
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,
[линк]
@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,
[линк]
Re: kade e logikata?
i dvata primera trqbva da rabotqt normalno, inache ima i po elegantni metodi, primerno:
map { splice @pr, $_, 1 } @chisla;
map { splice @pr, $_, 1 } @chisla;