Perguntas com a marcação «lambda»

NÃO USE PARA O AWS SERVICE (use [aws-lambda] para essas perguntas!) Lambdas são funções ou fechamentos anônimos em linguagens de programação como Lisp, C #, C ++, Lua, Python, Ruby, JavaScript ou Java. (Além disso, expressão lambda.)

7
Usando 'return' em um bloco Ruby
Estou tentando usar Ruby 1.9.1 para uma linguagem de script incorporada, de modo que o código do "usuário final" seja escrito em um bloco Ruby. Um problema com isso é que eu gostaria que os usuários pudessem usar a palavra-chave 'return' nos blocos, para que não precisassem se preocupar com …

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 …


4
Por que este lambda Java 8 falha ao compilar?
O seguinte código Java falha ao compilar: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error …


4
Por que o tipo de retorno lambda não é verificado no tempo de compilação?
A referência do método usado possui tipo de retorno Integer. Mas um incompatível Stringé permitido no exemplo a seguir. Como corrigir a withdeclaração do método para obter o tipo de referência do método seguro sem transmitir manualmente? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> …






2
Como a macro lambda cria uma lambda?
Encontrei este código no GitHub, mas não o entendi: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Então: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 O que os …

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: …

3
Sobrecarregar uma função lambda
Como sobrecarregar uma função lambda local simples? SSE do problema original: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map<char, int> table{ {'a', 0}, {'b', …

1
O lambda sem captura é garantido como vazio pelo padrão?
Estou procurando uma maneira de identificar lambdas vazias (sem captura) de outras lambdas em uma função de modelo. Atualmente, estou usando C ++ 17, mas estou curioso para respostas C ++ 20 também. Meu código fica assim: template<typename T> auto func(T lambda) { // The aguments of the lambdas are …
12 c++  lambda  c++17  c++20 

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.