[Cascavel-pm] Parametros por referência

Giuliani Deon Sanches giulianisanches em gmail.com
Terça Julho 28 04:38:36 PDT 2009


2009/7/27 Eden Cardim <edencardim em gmail.com>:
> 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/
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>

Realmente acabei usando o termo "retorno" de forma errônea, mas agora
ficou claro a diferença entre uma e outra.

Obrigado a todos.

-- 
twitter.com/giulianisanches
giulianisanches.blogspot.com


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