Opuesto a local predeterminado<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Entonces, solo un poco de azúcar sintáctico.
Sería muy bueno si hubiera algo opuesto a declarar variables locales para funciones.
es decir, en lugar de:
ejemplo = función ({ a , b } , { C , d , mi , F , gramo , h , i , j , k , yo , metro , norte , o , pag , q , r , s , t , tu , v , w } ,
C = a + b ;
d = C + a ;
//...
X = v + w ;
y = X + b ;
) ;
imprimir ( X , y ) ;
Podría escribir:
ejemplo = función ({ a , b } , { Local predeterminado , X , y } ,
C = a + b ;
d = C + a ;
//...
X = v + w ;
y = X + b ;
) ;
imprimir ( X , y ) ;
Re: Opuesto al local predeterminadoLo mismo ocurre con local:x si prefiere realizar un alcance explícito sobre la marcha.
F = función ({} , {} ,
X = "alcance global reemplazado" ;
local : X = "alcance de la función x" ;
local : y = "alcance de la función y" ;
imprimir ( :: X , local : X , y ) ;
) ;
F () ;
Debe recordar llamar a ::x explícitamente debido a las reglas de alcance para las variables sin alcance.

Re: Opuesto al local predeterminadoNunca he usado here:x antes, pero esa sintaxis tiene mucho sentido.¡Gracias!
Re: Opuesto al local predeterminadoHe estado usando locales explícitos en funciones.Creo que probaré Default Local en mi próximo proyecto.
Re: Opuesto al local predeterminadoCreo que si analizas todo, puedes obtener lo que quieres. Corrígeme si no te sigo pero... Por ejemplo
::x= "alcance global" ;
::y= "alcance global" ;
Nombres predeterminados aquí ( 1 );
x= "aquí alcance" ;
y= "aquí alcance" ;
imprimir (::x, aquí:x, ::y, aquí:y);
f = función ({}, {Local predeterminado},
aquí:x= "aquí se reemplazó el alcance" ;
::x = "alcance global reemplazado" ;
x = "alcance de la función x" ;
y = "alcance de la función y" ;
imprimir (aquí:x, ::x, x, y);
);
F();
imprimir (x, y); // será lo que se asignó a estos vars en el AQUÍ espacio de nombres.
imprimir (::x, ::y); // será lo que se asignó a estos vars en el Espacio de nombres GLOBAL.
// no hay forma de acceder a las variables locales (en realidad, el punto de local).
Re: Opuesto al local predeterminadoOtro ejemplo:
X = "alcance global" ;
y = "alcance global" ;
Nombres predeterminados aquí ( 1 ) ;
X = "aquí alcance" ;
y = "aquí alcance" ;
imprimir ( :: X , X , :: y , y ) ;
F = función ({} , { Local predeterminado , X } ,
X = "aquí se reemplazó el alcance" ;
y = "alcance de la función" ;
imprimir ( X , y ) ;
) ;
F () ;
//x != y pero lo hace
imprimir ( X , y ) ;