[Cascavel-pm] Parametros por referência

Eden Cardim edencardim em gmail.com
Segunda Julho 27 06:12:01 PDT 2009


2009/7/27 Fernando Oliveira <fernandocorrea em gmail.com>:
> fernando em fernando-laptop:~$ perl -e '
> sub rev {
>    @_ = reverse @_;
> }
>
> @lista = qw/1 2 3/;
> print rev(@lista), $/;
> '
> 321

Na verdade, pra mostrar a passagem por referência em ação, teria que
ser algo assim:

perl -le'my @list = qw(1 2 3); sub rev { @_[0.. em _-1] = reverse @_ }
rev(@list); print @list'

no caso, a atribuição prum slice de @_ preserva o aliasing pros
elementos de @list, enquanto que uma atribuição pra @_ sobrescreve a
lista que está em @_, destruindo os aliases.

-- 
   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