Questions marquées «closures»

Une fermeture est une fonction de première classe qui fait référence à (ferme) des variables de la portée dans laquelle elle a été définie. Si la fermeture existe toujours après la fin de sa portée de définition, les variables sur lesquelles elle se ferme continueront d'exister également.

9
Variable capturée dans une boucle en C #
J'ai rencontré un problème intéressant à propos de C #. J'ai du code comme ci-dessous. 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()); } Je m'attends à ce qu'il …



8
var self = ceci?
En utilisant des méthodes d'instance comme pour les callbacks gestionnaires d'événements change la portée de thisde « Mon exemple » à « Tout ce que vient d' appeler la fonction de rappel » . Donc mon code ressemble à ceci function MyObject() { this.doSomething = function() { ... } var …

5
Paramètre de fermeture d'échappement optionnel Swift
Donné: 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() Existe-t-il un moyen de rendre le completionparamètre (et action) de …

11
Comment appeler 3 fonctions pour les exécuter l'une après l'autre?
Si j'ai besoin d'appeler ces fonctions l'une après l'autre, $('#art1').animate({'width':'1000px'},1000); $('#art2').animate({'width':'1000px'},1000); $('#art3').animate({'width':'1000px'},1000); Je sais que dans jQuery je pourrais faire quelque chose comme: $('#art1').animate({'width':'1000px'},1000,'linear',function(){ $('#art2').animate({'width':'1000px'},1000,'linear',function(){ $('#art3').animate({'width':'1000px'},1000); }); }); Mais, supposons que je n'utilise pas jQuery et que je souhaite appeler: some_3secs_function(some_value); some_5secs_function(some_value); some_8secs_function(some_value); Comment dois-je appeler ces fonctions pour exécuter …


6
Comment utiliser Swift @autoclosure
J'ai remarqué lors de l'écriture d'un assertSwift que la première valeur est tapée comme @autoclosure() -> Bool avec une méthode surchargée pour renvoyer une Tvaleur générique , pour tester l'existence via le LogicValue protocol. Cependant s'en tenir strictement à la question à l'étude. Il semble vouloir un @autoclosurequi renvoie un …
148 closures  swift 

7
Stocker une fermeture en tant que variable dans Swift
En Objective-C, vous pouvez définir l'entrée et la sortie d'un bloc, stocker un de ces blocs qui est passé à une méthode, puis utiliser ce bloc plus tard: // in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void (^APLCalibrationCompletionHandler)(NSInteger measuredPower, NSError *error); // in .m @property (strong) APLCalibrationProgressHandler progressHandler; @property (strong) …

2
La fermeture d'un paramètre non échappant peut lui permettre de s'échapper
J'ai un protocole: enum DataFetchResult { case success(data: Data) case failure } protocol DataServiceType { func fetchData(location: String, completion: (DataFetchResult) -> (Void)) func cachedData(location: String) -> Data? } Avec un exemple d'implémentation: /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms. /// Dedicated to …




1
Quand une fermeture met-elle en œuvre Fn, FnMut et FnOnce?
Quelles sont les conditions spécifiques d'une fermeture pour implémenter les traits Fn, FnMutet FnOnce? C'est: Quand une fermeture ne met-elle pas en œuvre le FnOncetrait? Quand une fermeture ne met-elle pas en œuvre le FnMuttrait? Quand une fermeture ne met-elle pas en œuvre le Fntrait? Par exemple, la mutation de …
114 rust  closures 


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.