RE: [Cascavel-pm] Funções com argumentos de arrays

Brinde Storm - Steven Koch s.koch em brindestorm.com
Sexta Janeiro 6 08:40:22 PST 2006


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



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