[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