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.

7
Fermeture dans Java 7 [fermé]
Fermé. Cette question ne respecte pas les directives de Stack Overflow . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle soit pertinente pour Stack Overflow. Fermé il y a 2 ans . Améliorez cette question Qu'est-ce que la fermeture? Il …
105 java  closures 

4
Variables locales dans les fonctions imbriquées
D'accord, supportez-moi là-dessus, je sais que ça va paraître horriblement alambiqué, mais s'il vous plaît, aidez-moi à comprendre ce qui se passe. from functools import partial class Cage(object): def __init__(self, animal): self.animal = animal def gotimes(do_the_petting): do_the_petting() def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = Cage(animal) def pet_function(): …

7
Blocs sur Swift (animateWithDuration: animations: complétion :)
J'ai du mal à faire fonctionner les blocs sur Swift. Voici un exemple qui a fonctionné (sans bloc d'achèvement): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } ou bien sans la fermeture arrière: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) mais une fois que j'essaye d'ajouter le bloc d'achèvement, cela ne fonctionnera …
102 ios  swift  closures 

1
Accès à la fermeture modifiée (2)
Ceci est une extension de la question de l' accès à la fermeture modifiée . Je veux juste vérifier si ce qui suit est réellement suffisamment sûr pour une utilisation en production. List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button …
101 c#  .net  resharper  closures 

2
Pourquoi avons-nous besoin de fibres
Pour les fibres, nous avons un exemple classique: la génération de nombres de Fibonacci fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end Pourquoi avons-nous besoin de fibres ici? Je peux réécrire cela avec juste le même Proc (fermeture, en fait) …
101 ruby  lambda  closures  fibers  proc 


2
Swift @escaping et gestionnaire d'achèvement
J'essaie de comprendre plus précisément la «fermeture» de Swift. Mais @escapinget Completion Handlersont trop difficiles à comprendre J'ai recherché de nombreux messages et documents officiels Swift, mais je pensais que ce n'était toujours pas suffisant. Ceci est l'exemple de code des documents officiels var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: …


1
Avertissement Cell-var-from-loop de Pylint
Pour le code suivant: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Pylint a signalé une erreur: Variable de cellule sort_key définie dans la boucle (cell-var-from-loop) Quelqu'un pourrait-il donner une idée de ce qui se passe ici? À partir du code source de pylint, la description …


12
Pointeurs de fonction, fermetures et Lambda
Je viens juste d'apprendre les pointeurs de fonction et, alors que je lisais le chapitre K&R sur le sujet, la première chose qui m'a frappé a été: "Hé, c'est un peu comme une fermeture." Je savais que cette hypothèse est fondamentalement erronée et après une recherche en ligne, je n'ai …


3
Les valeurs de fermeture lambda peuvent être passées en tant que paramètres de référence rvalue
J'ai trouvé que lvalueles fermetures lambda peuvent toujours être passées en tant que rvalueparamètres de fonction. Voir la démonstration simple suivante. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works …

2
Pourquoi «std :: mem :: drop» n'est-il pas exactement le même que la fermeture | _ | () dans les limites de traits de rang supérieur?
L'implémentation de std::mem::dropest documentée comme suit: pub fn drop<T>(_x: T) { } En tant que tel, je m'attendrais à ce que la fermeture |_| ()(familièrement connue sous le nom de fermeture des toilettes ) soit un remplacement potentiel de 1: 1 dropdans les deux sens. Cependant, le code ci-dessous montre …
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.