[Python] Alcune cose sono interessanti, altre non so se hanno senso

Carlos Catucci carlos.catucci a gmail.com
Ven 27 Feb 2015 11:53:27 CET


2015-02-27 11:42 GMT+01:00 Luca Bacchi <bacchilu a gmail.com>:

Partita per errore quella prima


Ti spiego la "let" poi la tua mail è troppo lunga e mi fermo...
>
> In js il costrutto var definisce le variabili. Lo scope delle variabili è
> sempre funzionale: ovunque tu scriva "var x = 1;" è sempre come se tu lo
> scrivessi all'inizio della tua funzione. Functional Scope, appunto. Prova
> tu a immaginare l'attenzione che bisogna avere quando hai a che fare
> blocchi annidati, cicli, o cose simili.
>
> "let" permetterà di definire delle variabili con Block Scope, cioè potrai
> definire una variabile nel punto in cui ti serve e diciamo che il suo scope
> sarà limitato al blocco in cui è stata definita.


Si ma se io faccio una cosa del tipo

var pippo = 0;
for( i = 1;i <= 10; i++) {

    var pippo = i;
}

console.log(pippo);

mi attendo che pippo torni perche' renizializzando una var dentro un blocco
la dichiarazione var pippo interna nulla ha a che fare con quella esterna.
Invece js riassegna fregandosene. A me sembra piu un errore strutturale di
progettazione, che una cosa da patchare alla come viene con una istruzione
apposita. Boh, aggiunge a mio parere complessita' senza dare poi dei
vantaggi cosi' grandi ne essere cosi necessaria.

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150227/546397cb/attachment.html>


Maggiori informazioni sulla lista Python