«closures» etiketlenmiş sorular

Kapatma, tanımlandığı kapsamdaki değişkenleri ifade eden (kapanan) birinci sınıf bir işlevdir. Kapatma, tanımlayıcı kapsamı sona erdikten sonra hala mevcutsa, kapattığı değişkenler de var olmaya devam edecektir.

7
Java 7'de kapatma [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 2 yıl önce kapalı . Bu soruyu geliştirin Kapatma nedir? Java 7'ye dahil edilmesi gerekiyordu. (Kapanışlar Java 7'ye dahil edilmek üzere tartışıldı, …
105 java  closures 

4
İç içe geçmiş işlevlerdeki yerel değişkenler
Tamam, bu konuda bana katlanın, korkunç derecede karmaşık görüneceğini biliyorum, ama lütfen neler olduğunu anlamama yardım edin. 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(): print "Mary pets the " …

7
Swift'deki Bloklar (animateWithDuration: animasyonlar: tamamlama :)
Blokları Swift üzerinde çalıştırmada sorun yaşıyorum. İşte işe yarayan bir örnek (tamamlama bloğu olmadan): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } veya alternatif olarak takip eden kapatma olmadan: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) ancak tamamlama bloğunu eklemeye çalıştığımda çalışmıyor: UIView.animateWithDuration(0.2, animations: { self.blurBg.alpha = 1 }, completion: { self.blurBg.hidden …
102 ios  swift  closures 

1
Değiştirilmiş Kapanışa Erişim (2)
Bu, Erişim'den Değiştirilmiş Kapatma'ya kadar bir soru uzantısıdır . Sadece aşağıdakilerin üretimde kullanım için yeterince güvenli olup olmadığını doğrulamak istiyorum. List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button btn = new Button(); btn.Click += new EventHandler(delegate { MessageBox.Show(list); }); } …
101 c#  .net  resharper  closures 

2
Neden liflere ihtiyacımız var
Elyaflar için klasik bir örneğimiz var: Fibonacci sayılarının oluşturulması fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end Neden burada Fibere ihtiyacımız var? Bunu sadece aynı Proc ile yeniden yazabilirim (aslında kapanış) def clsr x, y = 0, 1 Proc.new do …
101 ruby  lambda  closures  fibers  proc 

2
Swift @escaping ve Tamamlama İşleyicisi
Swift'in 'Kapanışını' daha net anlamaya çalışıyorum. Ama @escapingve Completion Handleranlaşılması çok zor Birçok Swift ilanını ve resmi belgeyi araştırdım, ancak yine de yeterli olmadığını hissettim. Bu resmi belgelerin kod örneğidir var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: @escaping ()->Void){ completionHandlers.append(completionHandler) } func someFunctionWithNoneescapingClosure(closure: ()->Void){ closure() } class SomeClass{ var x:Int …
101 swift  escaping  closures 

6
Bu JavaScript kalıbı nedir ve neden kullanılır?
THREE.js üzerinde çalışıyorum ve işlevlerin şu şekilde tanımlandığı bir model fark ettim: var foo = ( function () { var bar = new Bar(); return function ( ) { //actual logic using bar from above. //return result; }; }()); (Örnek burada raycast yöntemine bakın ). Normal Böyle bir yöntemin varyasyon …

2
Parametre olarak anonim işlevi kullanarak dış değişkene erişim
Temel olarak bu kullanışlı işlevi db satırlarını işlemek için kullanıyorum (PDO ve / veya diğer şeylere bir göz atın) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } Bu işlevle şunları yapabilirim: fetch("SELECT title FROM tbl", function($r){ //> $r['title'] contains the title }); Şimdi diyelim ki …
95 php  closures  scope 

1
Pylint'ten döngüden hücre var uyarısı
Aşağıdaki kod için: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Pylint bir hata bildirdi: Döngüde tanımlanan hücre değişkeni sort_key (hücre-var-from-döngü) Burada neler olduğuna dair bir ipucu veren var mı? Pilint kaynak kodundan açıklama şöyledir: Kapanışta kullanılan bir değişken bir döngüde tanımlanır. Bu, kapalı değişken için …


12
İşlev işaretçileri, Kapanışlar ve Lambda
Şimdi işlev işaretlerini öğreniyorum ve konuyla ilgili K&R bölümünü okurken, bana ilk çarpan şey, "Hey, bu bir tür kapanış gibi" oldu. Bu varsayımın bir şekilde temelde yanlış olduğunu biliyordum ve çevrimiçi bir aramadan sonra bu karşılaştırmanın gerçekten herhangi bir analizini bulamadım. Öyleyse neden C tarzı işlev işaretçileri, kapanışlardan veya lambdalardan …

6
JavaScript işlevi takma adı çalışmıyor
Bu soruyu okudum ve işlev sarmalayıcı yöntemi yerine takma ad yöntemini denemek istedim, ancak bunu hem Firefox 3, hem de 3.5beta4 veya Google Chrome'da, hem hata ayıklama pencerelerinde hem de bir test web sayfasında. Firebug: >>> window.myAlias = document.getElementById function() >>> myAlias('item1') >>> window.myAlias('item1') >>> document.getElementById('item1') <div id="item1"> Bir web …


3
Lambda kapatma değerleri, değer referans parametreleri olarak geçirilebilir
lvalueLambda kapaklarının her zaman rvaluefonksiyon parametresi olarak geçebileceğini buldum . Aşağıdaki basit gösterilere bakın. #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 // Case 2: passing a `lvalue` function …

2
`Std :: mem :: drop` neden üst sıra özellik sınırlarındaki kapatma | _ | () ile tam olarak aynı değil?
Uygulamasının std::mem::dropaşağıdaki gibi belgelenmiştir: pub fn drop<T>(_x: T) { } Bu nedenle, kapamanın |_| ()(konuşma dilinde tuvalet kapağı olarak bilinir ) dropher iki yönde de potansiyel bir 1: 1 değiştirme olmasını beklerim. Bununla birlikte, aşağıdaki kod drop, işlevin parametresine bağlı daha yüksek sıralı bir özellikle uyumlu olmadığını gösterirken , tuvalet …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.