Primeiro: Posso lembrar que $elemento[$i, $j] não faz o que pode parecer que faz ?<br><br>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)<br>
<br>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 :-)<br>
<br>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].<br>
<br>[]s<br>Wendel<br><br><div class="gmail_quote">2008/4/15 Eden Cardim <<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2008/4/15 henry <<a href="mailto:juhenrimas@yahoo.com.br">juhenrimas@yahoo.com.br</a>>:<br>
<div><div></div><div class="Wj3C7c">> Olá!!!<br>
> estou quebrando a cabeça aqui em um probleminha...<br>
><br>
> tenho varias variaveis(dezenas) dentro de varios "foreachs"<br>
> encadeados(centenas).<br>
><br>
> mas tenho que atribuir centenas de valores para uma matriz, e queria ver se<br>
> eu conseguiria fazer isso de maneira mais elegante.<br>
><br>
> um trecho do código:<br>
><br>
> foreach $d1 ( 1 .. $final )<br>
> {<br>
> foreach $d2 ( 1 .. $final )<br>
> {<br>
><br>
> (...)<br>
> foreach $d450 ( 1 .. $final )<br>
> {<br>
> foreach $d451 ( 1 .. $final )<br>
> {<br>
> foreach $d452 ( 1 .. $final )<br>
> {<br>
><br>
> (...)<br>
><br>
> $elemento[1,1]=$d1;<br>
> $elemento[1,2]=$d2;<br>
> $elemento[1,3]=$d3;<br>
> (...)<br>
> $elemento[1,8]=$d8;<br>
> $elemento[1,9]=$d9;<br>
> $elemento[2,2]=$d10;<br>
> $elemento[2,3]=$d11;<br>
> (...)<br>
> $elemento[2,9]=$d17;<br>
> $elemento[3,3]=$d18;<br>
> $elemento[3,4]=$d19;<br>
> (...)<br>
> $elemento[3,9]=$d24;<br>
> $elemento[4,4]=$d25;<br>
> (...)<br>
> elemento[x,z]=$d452;<br>
><br>
> }<br>
> (...)<br>
> }<br>
> }<br>
> }<br>
><br>
> Nao eh mto produtivo e nem elegante escrever na unha tudo isso.<br>
> Então, estou tentando agrupar $elemento[i,j] dentro de um laço.<br>
> Mas não estou conseguindo atribuir o valor de $d_n_ via variavel.<br>
> o laço de @elemento eu fiz assim:<br>
><br>
> (...)<br>
> foreach $d452 ( 1 .. $final )<br>
> {<br>
><br>
> my $count=0;<br>
> foreach $i (1 .. $finale)<br>
> {<br>
> foreach $j ( $i .. $finale)<br>
> {<br>
> $count++;<br>
> $elemento[$i,$j]=$d$count;<br>
> }<br>
> }<br>
><br>
><br>
> porém estou justamente com o problema do "$d$count", não estou<br>
> conseguindo imaginar uma maneira de fazer $d$count se comportar como uma<br>
> variável "variável".<br>
<br>
</div></div>Você quer referências simbólicas, não vou mostrar como fazer porque é<br>
uma péssima idéia. :) Porque você não usa um array $d[$count] invés<br>
disso?<br>
<font color="#888888"><br>
--<br>
<a href="http://edenc.vox.com" target="_blank">edenc.vox.com</a><br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>