Domande taggate «closures»

Una chiusura è una funzione di prima classe che si riferisce a variabili (chiuse) dall'ambito in cui è stata definita. Se la chiusura esiste ancora dopo la fine del suo ambito di definizione, anche le variabili su cui si chiude continueranno a esistere.

9
Variabile acquisita in un ciclo in C #
Ho incontrato un problema interessante su C #. Ho un codice come sotto. List<Func<int>> actions = new List<Func<int>>(); int variable = 0; while (variable < 5) { actions.Add(() => variable * 2); ++ variable; } foreach (var act in actions) { Console.WriteLine(act.Invoke()); } Mi aspetto che produca 0, 2, 4, …



8
var self = this?
L'uso dei metodi di istanza come callback per i gestori di eventi cambia l'ambito thisda "Mia istanza" a "Qualunque cosa abbia appena chiamato il callback" . Quindi il mio codice è simile a questo function MyObject() { this.doSomething = function() { ... } var self = this $('#foobar').bind('click', function(){ self.doSomethng() …

5
Rapido parametro di chiusura di fuga opzionale
Dato: typealias Action = () -> () var action: Action = { } func doStuff(stuff: String, completion: @escaping Action) { print(stuff) action = completion completion() } func doStuffAgain() { print("again") action() } doStuff(stuff: "do stuff") { print("swift 3!") } doStuffAgain() C'è un modo per rendere il completionparametro (e action) di …

11
Come devo chiamare 3 funzioni per eseguirle una dopo l'altra?
Se devo chiamare queste funzioni una dopo l'altra, $('#art1').animate({'width':'1000px'},1000); $('#art2').animate({'width':'1000px'},1000); $('#art3').animate({'width':'1000px'},1000); So che in jQuery potrei fare qualcosa del tipo: $('#art1').animate({'width':'1000px'},1000,'linear',function(){ $('#art2').animate({'width':'1000px'},1000,'linear',function(){ $('#art3').animate({'width':'1000px'},1000); }); }); Ma supponiamo che non sto usando jQuery e voglio chiamare: some_3secs_function(some_value); some_5secs_function(some_value); some_8secs_function(some_value); Come dovrei chiamare queste funzioni per eseguire some_3secs_function, e DOPO quella chiamata …

9
Come funzionano le chiusure lessicali?
Mentre stavo studiando un problema che avevo con le chiusure lessicali nel codice Javascript, ho riscontrato questo problema in Python: flist = [] for i in xrange(3): def func(x): return x * i flist.append(func) for f in flist: print f(2) Si noti che questo esempio evita consapevolmente lambda. Stampa "4 …

6
Come usare Swift @autoclosure
Ho notato quando scrivevo assertin Swift che il primo valore è digitato come @autoclosure() -> Bool con un metodo sovraccarico per restituire un Tvalore generico , per testare l'esistenza tramite LogicValue protocol. Tuttavia, attenendosi rigorosamente alla domanda in questione. Sembra voler un @autoclosureche ritorna a Bool. Scrivere una chiusura effettiva …
148 closures  swift 

7
Memorizza una chiusura come variabile in Swift
In Objective-C, puoi definire l'input e l'output di un blocco, archiviare uno di quei blocchi passati a un metodo, quindi utilizzare quel blocco in un secondo momento: // in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void (^APLCalibrationCompletionHandler)(NSInteger measuredPower, NSError *error); // in .m @property (strong) APLCalibrationProgressHandler progressHandler; @property (strong) APLCalibrationCompletionHandler …

2
L'uso di chiusura di un parametro non in escape può consentirne la fuga
Ho un protocollo: enum DataFetchResult { case success(data: Data) case failure } protocol DataServiceType { func fetchData(location: String, completion: (DataFetchResult) -> (Void)) func cachedData(location: String) -> Data? } Con un'implementazione di esempio: /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms. /// Dedicated to …




1
Quando una chiusura implementa Fn, FnMut e FnOnce?
Quali sono le condizioni specifiche per una chiusura a implementare la Fn, FnMute FnOncetratti? Questo è: Quando una chiusura non implementa il FnOncetratto? Quando una chiusura non implementa il FnMuttratto? Quando una chiusura non implementa il Fntratto? Ad esempio, la modifica dello stato della chiusura sul suo corpo impedisce al …
114 rust  closures 


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.