Una clausura es una función evaluada en un entorno que contiene una o más variables dependientes de otro entorno, cuando es llamada, la función puede acceder a esas variables.
Ejemplo de una clausura con PowerShell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function Funcion(){ param ([int] $x) return ( { param ([int] $y) return ( { param ([string] $z) return ($x + $y + $z) }.GetNewClosure() ) }.GetNewClosure() ) } (Funcion 1).Invoke(2).Invoke(2) (Funcion 2).Invoke(5).Invoke(2) (Funcion 10).Invoke(10).Invoke(2) |