[SP-pm] ordem dos valores numa array escorregadia

Rodrigo Fernandes rodrigopan em yahoo.com
Segunda Agosto 6 01:44:13 PDT 2007


Obrigado pelas dicas, vou estudar e depois pergunto
novamente! ;-)

> 
>    Rodrigo, o teu código desperdiça a condição de
> saída, e usa um  
> "last unless" logo a seguir para fazer a mesma
> coisa. Isto custa  
> "caro" em tempo de processamento, e, mais
> importante, em  
> manutenibilidade do programa (sendo elegante, é mais
> fácil de  
> manter). Copiei o trecho de código de que eu estou
> falando abaixo:
> 
> sub MatchDecreasedForms{
>      GetLineResult;
>      GetLineLexemas;
>      while (1){
>          last unless ($lineresults[$countb]);
> 
>          while (1){
>              last unless ($linelexemas[$count]);
> 
>              if ($linelexemas[$count] eq
> $lineresults[$countb]){
>                  print "$lineresults[$countb]";
>                  $matchedcash[$count] = $countb;
> 
>              }
>              $count++;
>          }
>          $countb++;
>          $count = 0;
>      }
>      print @matchedcash;
> }
> 
>    Minha sugestão é usar
> 
> ### EU NÃO TESTEI O CÓDIGO! Use por sua conta e
> risco!
> sub MatchDecreasedForms{
>      my @lineresults = GetLineResult;
>      my @linelexemas = GetLineLexemas;
> 
>      my ( $line_counter, @matchedcash );
> 
>      RESULTS:
>      foreach my $result ( @lineresults ) {
>          LEXEMA:
>          foreach my $lexema ( @linelexemas ) {
>              if ( $lexema eq $result ) {
>                  print $result;
>                  push @matchedcash, $line_counter;
>              }
>          }
>          $line_counter++;
>      }
> 
>      print @matchedcash;
> }
> 
>    # Desafio: implementar a mesma coisa, LEGÍVEL
> (não, isto não é  
> golf), SEM USAR um contador de linhas
> ($line_counter).
>    # Dica: existe uma variável especial do perl que
> indica a linha do  
> arquivo que está sendo lido.
> 
>    Manutenibilidade é a primeira prioridade de quem
> codifica. A  
> segunda é se certificar se funciona. ;-)
>    Putamplexos!
> --
> Luis Motta Campos (a.k.a. Monsieur Champs) is a
> software engineer,
> Perl fanatic evangelist, and amateur {cook,
> photographer}
> 
> 
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
> 



      ____________________________________________________________________________________
Fussy? Opinionated? Impossible to please? Perfect.  Join Yahoo!'s user panel and lay it on us. http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7 



Mais detalhes sobre a lista de discussão SaoPaulo-pm