Articles of fechamentos

Encerramento em Javascript

Duplicar Possível: Passando valores para onclick Eu tenho 100 elementos com ids divNum0 , …, divNum99 . Cada um, quando clicado, deve chamar o doTask com o parâmetro correto. O código abaixo infelizmente não fecha i e, portanto, o doTask é chamado com 100 para todos os elementos. function doTask(x) {alert(x);} for (var i=0; i<100; […]

Escapando fechamentos em Swift

Eu sou novo em Swift e estava lendo o manual quando me deparei com o fechamento de fugas. Eu não recebi a descrição do manual. Alguém poderia me explicar o que escapam closures estão em Swift em termos simples.

Referência do Método de Instância e parameters do Lambda

Estou tendo problemas para entender a syntax de uma referência de método, onde há dois parâmetros b , e a referência é para um método de a em b . Por exemplo, eu entendo como Arrays.sort(personArray, comparators::compareByName); é equivalente a Arrays.sort(personArray, (o1, o2) -> comparators.compareByName(o1, o2)); porque nesse caso os parâmetros lambda correspondem aos parâmetros […]

Como os fechamentos funcionam nos bastidores? (C #)

Eu sinto que tenho uma compreensão bastante decente de encerramentos, como usá-los e quando eles podem ser úteis. Mas o que eu não entendo é como eles realmente trabalham nos bastidores da memory. Algum código de exemplo: public Action Counter() { int count = 0; Action counter = () => { count++; }; return counter; […]

encerramento imediato do javascript

Considere o seguinte código JavaScript: var a = []; var f = function() { for (var i = 0; i < 3; i++) { a.push(function(){alert(i)}); } for (var j = 0; j < 3; j++) { a[j](); } }; Os alertas imprimem ‘3’ todas as três vezes. Eu quero um comportamento diferente – em cada […]

Fechamentos em um loop for

Fechamentos em um loop estão me causando problemas. Eu acho que tenho que fazer outra function que retorna uma function para resolver o problema, mas não consigo fazê-lo funcionar com o meu código jQuery. Aqui está o problema básico de uma forma simplificada: function foo(val) { alert(val); } for (var i = 0; i < […]

O que são ‘fechamentos’ em c #?

Duplicado Fechamentos no .NET Quais são os fechamentos em c #?

Fechamento Capturado (Loop Variable) em C # 5.0

Isso funciona bem (como esperado) no C # 5.0: var actions = new List(); foreach (var i in Enumerable.Range(0, 10)) { actions.Add(() => Console.WriteLine(i)); } foreach (var act in actions) act(); Imprime 0 a 9. Mas este mostra 10 por 10 vezes: var actions = new List(); for (var i = 0; i Console.WriteLine(i)); } […]

Ligação a variables ​​JavaScript e loop

Considere esse loop: for(var it = 0; it < 2; it++) { setTimeout(function() { alert(it); }, 1); } A saída é: => 2 => 2 Eu gostaria que fosse: 0, 1. Eu vejo duas maneiras de corrigir isso: Solução # 1. Este baseado no fato de que podemos passar dados para setTimeout. for(var it = […]

Chamando uma function assíncrona dentro de um loop for em JavaScript

Eu tenho o seguinte código: for(var i = 0; i < list.length; i++){ mc_cli.get(list[i], function(err, response) { do_something(i); }); } mc_cli é uma conexão com um database do memcached. Como você pode imaginar, a function de retorno de chamada é assíncrona, portanto, pode ser executada quando o loop for já terminou. Além disso, ao chamar […]