RE: [Cascavel-pm] Funções com argumentos de arrays
Luis Campos de Carvalho
monsieur_champs em yahoo.com.br
Sexta Janeiro 6 08:38:26 PST 2006
Cuidado ao usar isto!
Valide sempre seus argumentos para que as pessoas saibam o que a sub espera ao receber. Esta
forma de passar argumentos dispensa parêntesis, e pode fazer com que a sub seja facilmente
confundida com uma palavra-chave do Perl.
Boa sorte, e conte com a gente se precisar de ajuda. :-)
--- Brinde Storm - Steven Koch <s.koch em brindestorm.com> escreveu:
> Isto que precisava...
> \:)
>
> -----Mensagem original-----
> De: cascavel-pm-bounces em pm.org [mailto:cascavel-pm-bounces em pm.org] Em nome
> de Luis Campos de Carvalho
> Enviada: sexta-feira, 6 de Janeiro de 2006 16:33
> Para: Cascavel Perl Mongers
> Assunto: Re: [Cascavel-pm] Funções com argumentos de arrays
>
> --- Brinde Storm - Steven Koch <s.koch em brindestorm.com> escreveu:
> > Como posso fazer isso em Perl
> >
> > minhaFuncao( @args1, $pos, @args2);
> >
> > Fiz isso mas não esta a funcionar:
> >
> > sub minhaFuncao(){
> > my(@args1, $pos, @args2) = @_;
> > ...
> > }
>
> Você não pode passar listas e valores simples misturados.
> Use subroutine templates ou passe os valores por referência:
>
> sub minha_funcao(\@,$,\@){
> my( $arr_ref1, $scalar, $arr_ref2 ) = @_;
> # ...
> return $something;
> }
>
> # Para chamar esta, basta dizer
> minha_funcao( @array1, $scalar, @array2 );
>
> ou (mais simples de entender e usar):
>
> sub minha_funcao{
> my( $arr_ref1, $scalar, $arr_ref2 ) = @_;
> # ...
> return $something;
> }
>
> # para chamar esta, precisa dizer
> minha_funcao( \@array1, $scalar, \@array2 );
>
> Espero que isso ajude.
> Leia o capítulo 3 ("Gory Details") do Camel Book, lá tem todas as
> explicações que você precisa sobre sub templating.
>
> Putamplexos!
>
> --
> Luis Campos de Carvalho
> Member of "São Paulo Perl Mongers",
> Unix SysAdmin & OCP/DBA Oracle
>
>
>
>
>
>
>
>
> _______________________________________________________
> Yahoo! doce lar. Faça do Yahoo! sua homepage.
> http://br.yahoo.com/homepageset.html
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
--
Luis Campos de Carvalho
Member of "São Paulo Perl Mongers",
Unix SysAdmin & OCP/DBA Oracle
_______________________________________________________
Yahoo! doce lar. Faça do Yahoo! sua homepage.
http://br.yahoo.com/homepageset.html
Mais detalhes sobre a lista de discussão Cascavel-pm