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.

7
Encerramento em Java 7 [fechado]
Fechadas. Esta pergunta não atende às diretrizes do Stack Overflow . Atualmente não está aceitando respostas. Quer melhorar esta questão? Atualize a pergunta para que esteja no tópico do Stack Overflow. Fechado há 2 anos . Melhore esta questão O que é fechamento? Deve ser incluído no Java 7. (Os …
105 java  closures 

4
Variáveis ​​locais em funções aninhadas
Ok, tenha paciência comigo, eu sei que vai parecer terrivelmente complicado, mas por favor me ajude a entender o que está acontecendo. 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
Bloqueia no Swift (animateWithDuration: animations: Completation :)
Estou tendo problemas para fazer os blocos funcionarem no Swift. Aqui está um exemplo que funcionou (sem bloco de conclusão): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } ou, alternativamente, sem o fechamento final: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) mas depois que tento adicionar o bloco de conclusão, ele simplesmente …
102 ios  swift  closures 

1
Acesso ao fechamento modificado (2)
Esta é uma extensão da pergunta de Acesso ao Fechamento Modificado . Só quero verificar se o seguinte é realmente seguro o suficiente para uso em produção. List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button btn = new Button(); btn.Click …
101 c#  .net  resharper  closures 

2
Por que precisamos de fibras
Para Fibras, temos um exemplo clássico: geração de números de Fibonacci fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end Por que precisamos de fibras aqui? Posso reescrever isso apenas com o mesmo Proc (encerramento, na verdade) def clsr x, y …
100 ruby  lambda  closures  fibers  proc 


2
Swift @escaping and Completion Handler
Estou tentando entender 'Closure' de Swift com mais precisão. Mas @escapinge Completion Handlersão muito difíceis de entender Pesquisei muitas postagens e documentos oficiais do Swift, mas senti que ainda não era o suficiente. Este é o exemplo de código de documentos oficiais var completionHandlers: [()->Void] = [] func someFunctionWithEscapingClosure(completionHandler: @escaping …

1
Aviso Cell-var-from-loop do Pylint
Para o seguinte código: for sort_key, order in query_data['sort']: results.sort(key=lambda k: get_from_dot_path(k, sort_key), reverse=(order == -1)) Pylint relatou um erro: Variável de célula sort_key definida em loop (cell-var-from-loop) Alguém poderia dar uma dica do que está acontecendo aqui? A descrição do código-fonte do pylint é: Uma variável usada em um …

2
Acessando variável externa usando função anônima como parâmetros
Basicamente, eu uso esta função útil para processar linhas db (preste atenção no PDO e / ou outras coisas) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } Com esta função, posso simplesmente fazer: fetch("SELECT title FROM tbl", function($r){ //> $r['title'] contains the title }); Digamos …
93 php  closures  scope 


12
Ponteiros de função, fechamentos e lambda
Acabo de aprender sobre indicadores de função e, enquanto lia o capítulo K&R sobre o assunto, a primeira coisa que me atingiu foi: "Ei, isso é meio que um encerramento." Eu sabia que essa suposição estava fundamentalmente errada de alguma forma e, após uma pesquisa online, não encontrei realmente nenhuma …



3
Os valores de fechamento lambda podem ser passados ​​como parâmetros de referência rvalue
Descobri que os lvaluefechamentos lambda sempre podem ser passados ​​como rvalueparâmetros de função. Veja a seguinte demonstração simples. #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: …

2
Por que o `std :: mem :: drop` não é exatamente o mesmo que o fechamento | _ | () nos limites de características com classificação mais alta?
A implementação de std::mem::dropestá documentada para ser a seguinte: pub fn drop<T>(_x: T) { } Como tal, eu esperaria que o fechamento |_| ()(conhecido coloquialmente como fechamento do vaso sanitário ) fosse um potencial substituto 1: 1 para drop, em ambas as direções. No entanto, o código abaixo mostra que …

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.