Perguntas com a marcação «closures»

Um fechamento é uma função de primeira classe que se refere a (fecha sobre) variáveis ​​do escopo em que foi definido. Se o fechamento ainda existir após o final do escopo de definição, as variáveis ​​que ele fechará continuarão a existir também.

9
Variável capturada em um loop em C #
Eu conheci uma questão interessante sobre c #. Eu tenho código como abaixo. 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()); } Espero que ele produza 0, 2, 4, …



8
var self = isso?
Usando métodos de instância como retornos de chamada para manipuladores de eventos altera o escopo de thispartir "Meu instância" para "Seja qual for chamado apenas o retorno de chamada" . Então, meu código fica assim function MyObject() { this.doSomething = function() { ... } var self = this $('#foobar').bind('click', function(){ …

5
Parâmetro de fechamento de escape opcional rápido
Dado: 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 alguma maneira de fazer o completionparâmetro (e action) do …

11
Como devo chamar 3 funções para executá-las uma após a outra?
Se eu precisar chamar essas funções uma após a outra, $('#art1').animate({'width':'1000px'},1000); $('#art2').animate({'width':'1000px'},1000); $('#art3').animate({'width':'1000px'},1000); Eu sei no jQuery que eu poderia fazer algo como: $('#art1').animate({'width':'1000px'},1000,'linear',function(){ $('#art2').animate({'width':'1000px'},1000,'linear',function(){ $('#art3').animate({'width':'1000px'},1000); }); }); Mas, vamos supor que eu não estou usando jQuery e desejo chamar: some_3secs_function(some_value); some_5secs_function(some_value); some_8secs_function(some_value); Como devo chamar essas funções para executar …

9
Como funcionam os fechamentos lexicais?
Enquanto eu estava investigando um problema que tive com fechamentos lexicais no código Javascript, me deparei com esse problema no Python: flist = [] for i in xrange(3): def func(x): return x * i flist.append(func) for f in flist: print f(2) Observe que este exemplo evita conscientemente lambda. Imprime "4 …

6
Como usar o Swift @autoclosure
Notei ao escrever um assertem Swift que o primeiro valor é digitado como @autoclosure() -> Bool com um método sobrecarregado para retornar um Tvalor genérico , para testar a existência via LogicValue protocol. No entanto, mantendo estritamente a questão em questão. Parece querer um @autoclosureque retorne a Bool. Escrever um …
148 closures  swift 

7
Armazene um fechamento como uma variável no Swift
No Objective-C, você pode definir a entrada e a saída de um bloco, armazenar um desses blocos que são passados ​​para um método e usá-lo posteriormente: // in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void (^APLCalibrationCompletionHandler)(NSInteger measuredPower, NSError *error); // in .m @property (strong) APLCalibrationProgressHandler progressHandler; @property (strong) APLCalibrationCompletionHandler completionHandler; …

2
O uso de fechamento de parâmetro não escapante pode permitir que ele escape
Eu tenho um protocolo: enum DataFetchResult { case success(data: Data) case failure } protocol DataServiceType { func fetchData(location: String, completion: (DataFetchResult) -> (Void)) func cachedData(location: String) -> Data? } Com um exemplo de implementação: /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms. /// …




1
Quando um encerramento implementa Fn, FnMut e FnOnce?
Quais são as condições específicas para um fecho para implementar a Fn, FnMute FnOncetraços? Isso é: Quando um fechamento não implementa o FnOncetraço? Quando um fechamento não implementa o FnMuttraço? Quando um fechamento não implementa o Fntraço? Por exemplo, alterar o estado do fechamento em seu corpo faz com que …
114 rust  closures 


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.