summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2019-11-23 16:53:58 +0100
committerEkaitz Zarraga <ekaitz@elenq.tech>2019-11-23 16:53:58 +0100
commit527e8eef3d0bb8e68beade896fae63481e618af8 (patch)
tree381abfc95876b49c4cf7894238e9acac6210bc99
parentfc0a97598f058992164881fb15bbbb9e5e7a04bc (diff)
closures
-rw-r--r--src/04_funciones.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/04_funciones.md b/src/04_funciones.md
index eee27fb..3aa3c51 100644
--- a/src/04_funciones.md
+++ b/src/04_funciones.md
@@ -298,6 +298,20 @@ independientes, aunque se llamen de la misma forma en su concepción, no se
pisaron la una a la otra, porque pertenecían a contextos distintos ya que la
función que las creaba terminó y luego volvió a iniciarse.
+Este funcionamiento donde el comportamiento de las funciones depende del lugar
+donde se crearon y no del contexto donde se ejecutan se conoce como *scope
+léxico* y esta forma de implementarlo, haciendo que cada función recuerde el
+contexto en el que se creó se denomina *closure*.
+
+Concretamente, las *closures* son una forma de implementar el *scope léxico* en
+un lenguaje cuyas funciones sean *first-class citizens*, como es el caso de
+python, y su funcionamiento se basa en la construcción de los contextos y su
+asociación a una función capaz de recordarlos aunque la función madre haya
+terminado.
+
+A nivel práctico, las *closures* son útiles.
+
+TODO
## Argumentos de entrada