Re: [Cascavel-pm] Funções com argumentos de arrays
Luis Campos de Carvalho
monsieur_champs em yahoo.com.br
Sexta Janeiro 6 08:32:49 PST 2006
--- 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
Mais detalhes sobre a lista de discussão Cascavel-pm