[SP-pm] variavel com nome de variáveis... seria isso?

Eden Cardim edencardim em gmail.com
Terça Abril 15 19:33:19 PDT 2008


2008/4/15 henry <juhenrimas em yahoo.com.br>:
> Olá!!!
>  estou quebrando a cabeça aqui em um probleminha...
>
>  tenho varias variaveis(dezenas) dentro de varios "foreachs"
>  encadeados(centenas).
>
>  mas  tenho que atribuir  centenas de valores para uma matriz, e queria ver se
>  eu conseguiria   fazer isso de maneira mais elegante.
>
>  um trecho do  código:
>
>  foreach $d1 ( 1 .. $final )
>  {
>  foreach $d2 ( 1 .. $final )
>  {
>
>  (...)
>  foreach $d450 ( 1 .. $final )
>  {
>  foreach $d451 ( 1 .. $final )
>  {
>  foreach $d452 ( 1 .. $final )
>  {
>
>  (...)
>
>  $elemento[1,1]=$d1;
>  $elemento[1,2]=$d2;
>  $elemento[1,3]=$d3;
>  (...)
>  $elemento[1,8]=$d8;
>  $elemento[1,9]=$d9;
>  $elemento[2,2]=$d10;
>  $elemento[2,3]=$d11;
>  (...)
>  $elemento[2,9]=$d17;
>  $elemento[3,3]=$d18;
>  $elemento[3,4]=$d19;
>  (...)
>  $elemento[3,9]=$d24;
>  $elemento[4,4]=$d25;
>  (...)
>  elemento[x,z]=$d452;
>
>  }
>  (...)
>  }
>  }
>  }
>
>  Nao eh   mto produtivo e  nem elegante escrever na  unha tudo isso.
>  Então, estou tentando agrupar $elemento[i,j] dentro de um laço.
>  Mas não estou conseguindo atribuir o valor de  $d_n_  via  variavel.
>  o  laço  de  @elemento eu  fiz assim:
>
>  (...)
>  foreach $d452 ( 1 .. $final )
>  {
>
>  my $count=0;
>  foreach $i (1 .. $finale)
>  {
>  foreach $j ( $i .. $finale)
>  {
>  $count++;
>  $elemento[$i,$j]=$d$count;
>  }
>  }
>
>
>  porém  estou  justamente com o  problema do  "$d$count",  não estou
>  conseguindo imaginar  uma maneira de fazer  $d$count se comportar como uma
>  variável "variável".

Você quer referências simbólicas, não vou mostrar como fazer porque é
uma péssima idéia. :) Porque você não usa um array $d[$count] invés
disso?

-- 
edenc.vox.com


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