[Mageia-dev] [soft-commits] [4252] fix removing several notebook pages
Guillaume Rousse
guillomovitch at gmail.com
Wed Apr 25 10:15:13 CEST 2012
Le 25/04/2012 09:56, Thierry Vignaud a écrit :
> On 24 April 2012 23:17,<root at mageia.org> wrote:
>> fix removing several notebook pages
>
> (...)
>
>> --- drakx/trunk/perl-install/diskdrake/hd_gtk.pm 2012-04-24 20:10:47 UTC
>> (rev 4251)
>> +++ drakx/trunk/perl-install/diskdrake/hd_gtk.pm 2012-04-24 21:17:30 UTC
>> (rev 4252)
>> @@ -285,9 +285,15 @@
>> $may_add->(raid2kind()) if @{$all_hds->{raids}};
>> $may_add->(loopback2kind()) if @{$all_hds->{loopbacks}};
>>
>> - @notebook = grep_index {
>> - my $b = $_->{marked} or $notebook_widget->remove_page($::i);
>> - $b;
>> + my $i = 0;
>> + @notebook = grep {
>> + if ($_->{marked}) {
>> + $i++;
>> + 1;
>> + } else {
>> + $notebook_widget->remove_page($i);
>> + 0;
>> + }
>
> Wouldn't have been simpler to decrease $::i instead?
I'm more concerned about the ugly mix between variable affectation (
@notebook = grep {} @list) and additional concerns hidden inside
($notebook_widget->remove_page($i) ). And explicit loop would be easier
to understand, and less error-prone:
my @notebook;
my $i = 0;
foreach my $notebook (@list) {
if ($notebook->{marked}) {
push @notebook, $notebook;
$i++;
} else {
$notebook_widget->remove_page($i);
}
}
--
BOFH excuse #136:
Daemons loose in system.
More information about the Mageia-dev
mailing list