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

Carlos Catucci carlos.catucci a gmail.com
Ven 27 Feb 2015 14:16:30 CET


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

> Nel tuo esempio intanto c'è una cosa poco chiara parlando in termini di
> Javascript: le variabili si dichiarano all'interno delle funzioni con "var"
> e lo si fa una volta sola. Quindi nel tuo codice già è presente un "var
> pippo" 2 volte, e questo potrebbe portare a dei fraintendimenti. La
> dichiarazione "var pippo" ovunque tu la metta (tu l'hai messa sia fuori che
> dentro) abbiamo detto che si comporta "come se" tu l'avessi messa una sola
> volta e all'inizio della funzione. Quindi si comporta esattamente come
> dovrebbe.
>

Infatti pero' se dichiaro due volte la variabile, dentro e fuori di un
blocco (ovvio in linguaggi che permettono la dichiarazione) mi attendo che
siano due diverse variabili.


>
> Ti faccio un esempio un po' diverso:
>
> (function () {
>     var pippo = 0;
>
>     _.each([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function (element) {
>         var pippo = i;
>     });
>
>     console.log(pippo);
> })();
>
> (_.each è roba di undercorejs ma non te ne curar)
>

Conosco e apprezzo


> Non ho provato ma direi che in questo caso dovrebbe stampare pippo = 0.
> Function Scope.
>

Certo, la hai dichiarata dentro una funzione interna. Io parlavo dello
scope a livello di blocco non di funzione.

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


Maggiori informazioni sulla lista Python