'Closure', também conhecido em algumas linguages como expressões lambda, permite que você defina uma função que é declarada dentro de outra e que passa a ter acesso as variáveis da função externa.
Como ele tem características parecida de um ponteiro para função (C/C++) você pode passar uma função enclausurada como argumento para outra função para produzir um callback e gerar um tratamento de eventos. Porém diferentemente do que ocorre em C, você não está simplesmente passando uma referência a uma função. Você fornece uma 'instância', pois as variáveis e seu valores existentes no momento de ocorreu a (re-)definição da função permanecem presentes.
Em Perl, o suporte a OOP se dá mediante a esta característica de closure (e alguns detalhes a mais). Closure é um recurso presente em linguagens de programação funcional como LISP, erlang e Scheme.
Bem, acredito que se você for um pouco além do que é closure em Python, você vai entender melhor o assunto e conhecer melhor esse recurso dinâmico.
2006-09-11 15:39:52
·
answer #1
·
answered by Cristiano - MVC 2
·
0⤊
0⤋
Baixa isso aqui ;)
http://www.apostilando.com/download.php?cod=2060
2006-09-11 21:32:42
·
answer #2
·
answered by Hokus Phokus 7
·
0⤊
0⤋