[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