[SP-pm] Referências

Luis Motta Campos luismottacampos at yahoo.co.uk
Tue Nov 18 04:08:09 PST 2008


André Garcia Carneiro wrote:
> Já em Perl, não precisamos nos preocupar com isso, principalmente
> porque não existem tipos. No entanto, a partir da versão 5.10(me
> corrijam se estiver errado) do perl, se não me engano, ele já permite
> fazer protótipos, só que com um propósito diferente. Eu não sei muito
> bem porque ainda não estou mexendo com perl 5.10. O Champs disse que
> um dos propósitos de protótipos em perl  é o de garantir uma
> pré-transformação(se eu entendi o que ele disse), mas sinceramente,
> não sei.

OPA! Calminha aí! Toda a família do Perl 5 suporta protótipos. E acho
que mesmo alguns dos mais antigos (4.X) também podem.

"Protótipo" é um nome infeliz para a funcionalidade. O que acontece (e o
Eden citou a palavra certa) é "coerção" de dados: o Perl consegue
"formatar" (num sentido restrito) a informação que está sendo passada.
Vou me repetir, mas quero mesmo fazer vocês pensarem sobre isso:

__PERL__
sub proto_example ( $;$ ) {
  print "@_";
}
my @arg = ( 1, 2, 3 );
proto_example @arg; # imprime "3". Por que?
&proto_example @arg; # imprime "123". Por que?
__END__

Este trechinho de código condensa tudo o que é importante saber sobre
"protótipos". Agora, ponham estas cabecinhas para funcionar, por favor... ;)

Putamplexos!
-- 
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.


More information about the SaoPaulo-pm mailing list