[Cascavel-pm] Como passar arrays para funções... [Was: Duvida $dbh->prepare]
Gabriel Vieira
gabriel.vieira em gmail.com
Sexta Janeiro 26 17:39:16 PST 2007
@{$argumento->{datas} } :)
On 1/26/07, Solli Honorio <shonorio em gmail.com> wrote:
>
>
> > > So + uma duvida..
> >
> > /me lança um olhar de reprovação sobre todos os membros desta
> > lista de discussão que não se preocuparam em mudar o tópico das
> > mensagens, acompanhando a mudança de assunto e ao mesmo tempo
> > permitindo que a lista continue se organizando por threads e assuntos.
> >
> > (Relaxa, Patty, que desta vez quem pisou no tomate foram as
> > "raposas" da lista... eheheheh)
> >
> > > em minha subrotina eu tento passar assim:
> > > my ($ids, em datas,$variavels)=@_;
> > > |______________________
> > >
> > > |
> > > Minha duvida eh.. eu posso passar um ARRAY??
>
>
> Patty, subrotinas sempre recebem através do array @_, sendo assim se vc
> colocar o primeiro ou o segundo elemento de passagem de parametros como
> array, todos o resto será confundido dentro o primeiro, ou segundo array.
> Confuso ?
>
> Vc está dizendo algo assim : me passe um elemento, depois me passe uma
> lista de elementos de qualquer tamanho e por último me passe um elemento...
> mas como assim, se o compilador passou todos os elementos no segundo ítem.
> Mas claro ? Espero :)
>
> Patty, em Perl a gente pode fazer praticamente qualquer coisa.
> > O problema é saber se interessa.
> >
> > Isso que você quer fazer é possível (desafio: alguém sabe COMO
> > fazer? FGlock: você, não vale...), mas pode ficar chato de entender
> > para outras pessoas.
> >
> > Existem duas possibilidades para resolver este problema:
>
>
> Ou três, que tal utilizar hash para a passagem de parametros ? Tipo assim
> :
> <codigo>
> my %hash = ( id => $ids,
> datas => \@datas,
> variaveis => $variaveis );
>
> subrotina (\%hash);
>
> sub subrotina {
> my $argumento = shift;
>
> die 'Invalido argumento, esperado uma referencia de hash' if
> ref $argumento ne 'HASH';
>
> print "$argumento->{id}\n";
> foreach ( $argumento->{datas} ) {
> print "$_\n";
> }
> print "$argumento->{variaveis}\n";
> }
> </codigo>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
--
Gabriel Vieira
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070126/2fc19406/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm