Articles of chiusure

Perché le azioni sui graal dovrebbero essere dichiarate come metodi anziché come chiusure e che differenza fa?

In Grails 2.0 quali sono i nuovi http://grails.org/doc/2.0.0.RC1/guide/introduction.html#whatsNew dice: 1.1.3 Web Features Controller Actions as Methods It is now possible to define controller actions as methods instead of using closures as in previous versions of Grails. In fact this is now the preferred way of expressing an action. Per esempio: // action as a method […]

C’è un modo per ottenere chiusure in C

Mi piacerebbe che funzionasse, ma non lo è: #include typedef struct closure_s { void (*incrementer) (); void (*emitter) (); } closure; closure emit(int in) { void incrementer() { in++; } void emitter() { printf(“%d\n”, in); } return (closure) { incrementer, emitter }; } main() { closure test[] = { emit(10), emit(20) }; test[0] . incrementer(); […]

Come usare completionHandler Closure con ritorno in Swift?

Sto provando con noi un’API RESTful che restituisce alcuni dati JSON. Voglio incapsulare il codice che crea la richiesta HTTP e imposta le intestazioni nel suo stesso metodo, così posso chiamarlo inserendo un url String e quindi il metodo restituisce un object JSON. Nel seguente snippet di codice, ho già creato l’object request e impostato […]

Passare la variabile nell’ambito genitore alla funzione di callback

Questa è più una domanda di chiusura JavaScript che una domanda Firebase. Nel codice seguente, il callback di Firebase non riconosce la variabile myArr nell’ambito genitore. function show_fb() { var myArr = []; var firebase = new Firebase(‘https://scorching-fire-6816.firebaseio.com/’); firebase.on(‘child_added’, function(snapshot) { var newPost = snapshot.val(); myArr.push(newPost.user); console.log(myArr); // works }); console.log(myArr); // doesn’t work. myArr […]

Chiusure in un ciclo for e ambiente lessicale

Caso semplice: voglio caricare più immagini con un nome comune e un suffisso, ad esempio: image0.png, image1.png, image2.png … imageN.png Sto usando un ciclo for semplice: var images = []; for (var i=1; i<N; i++) { images[i] = new Image(); images[i].onload = function () { console.log("Image " + i + " loaded"); }; images[i].src = […]

creare oggetti dalla chiusura di JS: dovrei usare la parola chiave “nuova”?

Ho risposto a una domanda sulle chiusure qui in SO con questo esempio: function Constructor() { var privateProperty = ‘private’; var privateMethod = function(){ alert(‘called from public method’); }; return { publicProperty: ‘im public’, publicMethod: function(){ alert(‘called from public method’); }, getter: privateMethod } } var myObj = new Constructor(); //public var pubProp = myObj.publicProperty; […]

Esempio di riferimento circolare in Javascript?

Mi stavo chiedendo se qualcuno ha un buon esempio funzionante di un riferimento circolare in javascript? So che questo è incredibilmente facile da fare con le chiusure, ma ho avuto difficoltà a sistemare il mio cervello attorno a questo. Un esempio che posso analizzare in Firebug sarebbe molto apprezzato. Grazie

Come risolvere il problema di chiusura in ActionScript 3 (AS3)

Nel codice qui sotto sto cercando di caricare alcune immagini e metterle sul palco non appena vengono caricate singolarmente. Ma è bloccato dal momento che viene visualizzata solo l’ultima immagine. Sospetto che sia un problema di chiusura. Come posso ripararlo? Il comportamento delle chiusure in AS3 non è lo stesso di Java Script? var imageList:Array […]

Come posso fare chiusure in Emacs Lisp?

Sto cercando di creare una funzione al volo che restituisca un valore costante. In JavaScript e in altri linguaggi imperativi moderni userei le chiusure: function id(a) { return function() {return a;}; } ma il lisp di Emacs non supporta quelli. Posso creare mix di funzioni di identity framework e applicazioni a funzioni parziali, ma non […]

Controllo del tipo di blocco Objective-C?

Questa è principalmente una curiosità, non sono sicuro di quale sia l’uso pratico di questo, ma qui va. Poiché i blocchi sono anche oggetti Objective-C, è ansible controllarne il tipo? Cioè, risponde al messaggio isKindOfClass: e come usare quel messaggio rispetto ai blocchi? Il mio ingenuo pensiero che probabilmente è così: -(void) aMethod { typedef […]