[SP-pm] variavel com nome de variáveis... seria isso?
Wendel Scardua
wendelscardua em gmail.com
Quarta Abril 16 01:47:09 PDT 2008
Primeiro: Posso lembrar que $elemento[$i, $j] não faz o que pode parecer que
faz ?
Você quis dizer $elemento[$i][$j]. $elemento[$i, $j] equivale a $elemento[
$j ]. (o operador vírgula "calcula" os dois operandos, e devolve o segundo
operando)
Segundo: Você tem certeza que esse seu código faz o que você quer, ou que
você quer o que esse código faz ? Ele é, como posso dizer, "realista" ?
Porque se você tem mesmo 452 for()'s encadeados, e $final == 2, aquele bando
de atribuições vai ser executado 2^452 vezes, o que eu chuto levar mais de
um googol (10^100) de anos pra rodar :-)
Terceiro: Supondo que você só exagerou mesmo no número, e esse 452 é na
verdade só um 32 ou algo assim, ainda assim você poderia fazer o que o Eden
sugeriu, use $d[1] ... $d[32] em vez de $d1 ... $d32 . Daí seu $d$count é
simplesmente $d[$count].
[]s
Wendel
2008/4/15 Eden Cardim <edencardim em gmail.com>:
> 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
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080416/8b77cb19/attachment-0001.html
Mais detalhes sobre a lista de discussão SaoPaulo-pm