[Cascavel-pm] Parametros por referência

Eden Cardim edencardim em gmail.com
Segunda Julho 27 19:09:19 PDT 2009


2009/7/27 Giuliani Deon Sanches <giulianisanches em gmail.com>:
> Usando o exemplo do Eden, montei o seguinte exemplo para tentar
> explicar melhor minha dúvida:
> http://pastebin.com/febacd61
>
> Por que o rev @lista retorna 54321 mas o rev2 @lista não traz de volta o 12345 ?

Nenhuma das duas funções retorna a lista ordenada, rev() vai sempre
retornar @_/2 e rev2() vai sempre retornar undef. A diferença é que
rev() altera o valor contido nas referências pro array @lista que
estão "aliased" em @_, enquanto que rev2() sobrescreve os valores (e
as referências), assim, os valores não se propagam para fora do escopo
da função.

-- 
   Eden Cardim       Need help with your Catalyst or DBIx::Class project?
  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://edenc.vox.com/            http://www.shadowcat.co.uk/servers/


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