[PortoAlegre-pm] Quiz

Igor Sutton Lopes igor.sutton em gmail.com
Segunda Fevereiro 5 15:09:47 PST 2007


Adriano,

On 2007/02/05, at 16:27, Adriano Ferreira wrote:

> On 2/5/07, Igor Sutton <igor.sutton em gmail.com> wrote:
>> Assumindo que ref($data) devolve 'ARRAY', o que acontece quando
>> utilizamos o seguinte código?
>>
>> foreach($data) {
>>     print;
>> }
>
> Só completando a resposta do Igor, o foreach sobre uma variável
> escalar é um laço que executa uma vez só e faz um alias da variável do
> loop. Isto pode ser útil às vezes:
>
> foreach ($data->{struct1}->{struct2}->[2]->{struct3}) {
>      $a = $_ * (1 - $_)/(1 + $_)
> }
>
> ao invés de
>
> $a = $data->{struct1}->{struct2}->[2]->{struct3} *
>          (1 - $data->{struct1}->{struct2}->[2]->{struct3})/
>          (1 + $data->{struct1}->{struct2}->[2]->{struct3})
>
> (É óbvio que
>
> $v = $data->{struct1}->{struct2}->[2]->{struct3};
> $a = $v * (1 - $v)/(1 + $v)
>
> funciona também mas não é tão sexy. No entanto é diferente porque a
> atribuição $v = faz cópia de números e strings.)

Você conhece alguma maneira de fazer um alias para uma estrutura de  
dados, como o foreach, porém fora do mesmo?

--
Igor Sutton Lopes <igor.sutton em segula.pt>



-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/portoalegre-pm/attachments/20070205/418b70ad/attachment.html 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : PGP.sig
Tipo  : application/pgp-signature
Tam   : 186 bytes
Descr.: This is a digitally signed message part
Url   : http://mail.pm.org/pipermail/portoalegre-pm/attachments/20070205/418b70ad/attachment.bin 


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