Perguntas com a marcação «lambda»

350
Diferença entre final e efetivamente final

Estou brincando com lambdas no Java 8 e me deparei com um aviso local variables referenced from a lambda expression must be final or effectively final. Eu sei que quando eu uso variáveis ​​dentro da classe anônima, elas devem ser finais na classe externa, mas ainda assim - qual é a diferença entre...

336
Quando usar lambda, quando usar Proc.new?

No Ruby 1.8, existem diferenças sutis entre proc / lambda, por um lado, e Proc.newpor outro. Quais são essas diferenças? Você pode dar orientações sobre como decidir qual escolher? No Ruby 1.9, proc e lambda são diferentes. Qual é o

335
Não há Lambda multilinha no Python: por que não?

Ouvi dizer que lambdas multilinhas não podem ser adicionadas no Python porque elas colidiriam sintaticamente com outras construções de sintaxe no Python. Eu estava pensando sobre isso no ônibus hoje e percebi que não conseguia pensar em uma única construção Python com a qual as lambdas multilinhas...

313
Quebrar ou retornar do Java 8 stream forEach?

Ao usar a iteração externa sobre um Iterablenós usamos breakou returndo aprimorado para cada loop como: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } Como podemos breakou returnusando a iteração interna em uma expressão lambda do Java 8...

309
Expressões em C # Lambda: Por que devo usá-las?

Eu li rapidamente sobre o Microsoft Lambda Expression documentação . Esse tipo de exemplo me ajudou a entender melhor: delegate int del(int i); del myDelegate = x => x * x; int j = myDelegate(5); //j = 25 Ainda assim, não entendo por que é uma inovação. É apenas um método que morre quando a...

249
O que os fechamentos de função (lambda) capturam?

Recentemente, comecei a brincar com o Python e descobri algo peculiar na maneira como os fechamentos funcionam. Considere o seguinte código: adders=[0,1,2,3] for i in [0,1,2,3]: adders[i]=lambda a: i+a print adders[1](3) Ele cria uma matriz simples de funções que recebem uma única entrada e...

240
Usando o Java 8 opcional com Stream :: flatMap

A nova estrutura de fluxo do Java 8 e os amigos criam um código java muito conciso, mas me deparei com uma situação aparentemente simples que é difícil de fazer de forma concisa. Considere a List<Thing> thingse método Optional<Other> resolve(Thing thing). Quero mapear os Thingto...

230
As funções lambda podem ser modeladas?

No C ++ 11, existe uma maneira de modelar uma função lambda? Ou é inerentemente específico demais para ser modelado? Entendo que posso definir uma classe / functor com modelo clássico, mas a pergunta é mais como: a linguagem permite modelar funções