Als «closures» getaggte Fragen

Ein Abschluss ist eine erstklassige Funktion, die auf Variablen aus dem Bereich verweist, in dem sie definiert wurden. Wenn der Abschluss nach dem Ende seines definierenden Bereichs noch vorhanden ist, bleiben auch die Variablen, über die er geschlossen wird, bestehen.

30
Wie funktionieren JavaScript-Schließungen?
Die Antworten dieser Frage sind eine Gemeinschaftsanstrengung . Bearbeiten Sie vorhandene Antworten, um diesen Beitrag zu verbessern. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Overа этот вопрос есть ответы на Stapelüberlauf на русском : Как работают замыкания в JavaScript Wie würden Sie JavaScript-Verschlüsse jemandem erklären, der die Konzepte kennt, …


26
Warum sind Python-Lambdas nützlich? [geschlossen]
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . Ich versuche Python Lambdas herauszufinden. Ist Lambda eines …



12
JavaScript-Schließungen im Vergleich zu anonymen Funktionen
Ein Freund von mir und ich diskutieren derzeit, was eine Schließung in JS ist und was nicht. Wir wollen nur sicherstellen, dass wir es wirklich richtig verstehen. Nehmen wir dieses Beispiel. Wir haben eine Zählschleife und möchten die Zählervariable verzögert auf der Konsole drucken. Daher verwenden wir setTimeoutund Verschlüsse , …


6
Was ist in PHP ein Abschluss und warum wird der Bezeichner "use" verwendet?
Ich habe einige PHP 5.3.0Funktionen überprüft und bin auf der Website auf Code gestoßen, der ziemlich lustig aussieht: public function getTotal($tax) { $total = 0.00; $callback = /* This line here: */ function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * …
407 php  closures 

10
Was liegt dieser JavaScript-Sprache zugrunde: var self = this?
In der Quelle für WebKit HTML 5 SQL Storage Notes Demo wurde Folgendes angezeigt : function Note() { var self = this; var note = document.createElement('div'); note.className = 'note'; note.addEventListener('mousedown', function(e) { return self.onMouseDown(e) }, false); note.addEventListener('click', function() { return self.onNoteClick() }, false); this.note = note; // ... } Der …


3
Zugriff auf Modified Closure
string [] files = new string[2]; files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml"; files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml"; //Resharper complains this is an "access to modified closure" for (int i = 0; i < files.Length; i++ ) { // Resharper disable AccessToModifiedClosure if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(), delegate(string name) { return name.Equals(files[i]); })) return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]); // ReSharper restore AccessToModifiedClosure } …
316 c#  resharper  closures 

21
Was ist der nächste Ersatz für einen Funktionszeiger in Java?
Ich habe eine Methode, die ungefähr zehn Codezeilen umfasst. Ich möchte mehr Methoden erstellen, die genau dasselbe tun, mit Ausnahme einer kleinen Berechnung, die eine Codezeile ändert. Dies ist eine perfekte Anwendung zum Übergeben eines Funktionszeigers, um diese eine Zeile zu ersetzen, aber Java verfügt nicht über Funktionszeiger. Was ist …


7
Warum werden in Python verschachtelte Funktionen nicht als Closures bezeichnet?
Ich habe verschachtelte Funktionen in Python gesehen und verwendet, die der Definition eines Abschlusses entsprechen. Warum heißen sie nested functionsstatt closures? Sind verschachtelte Funktionen keine Abschlüsse, weil sie nicht von der Außenwelt verwendet werden? UPDATE: Ich habe über Schließungen gelesen und über dieses Konzept in Bezug auf Python nachgedacht. Ich …

6
Was erfassen (Lambda) -Funktionsverschlüsse?
Vor kurzem habe ich angefangen, mit Python herumzuspielen, und bin auf etwas Besonderes gestoßen, wie Verschlüsse funktionieren. Betrachten Sie den folgenden Code: adders=[0,1,2,3] for i in [0,1,2,3]: adders[i]=lambda a: i+a print adders[1](3) Es wird ein einfaches Array von Funktionen erstellt, die eine einzelne Eingabe verwenden und die durch eine Zahl …
249 python  lambda  closures 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.