Preguntas etiquetadas con lambda

93
¿Qué significa [=] en C ++?

Quiero saber que [=]hace He aquí un breve ejemplo template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); ¿Cómo funcionaría el código en...

92
Implementación lambda de C ++ 11 y modelo de memoria

Me gustaría obtener información sobre cómo pensar correctamente sobre los cierres de C ++ 11 y std::functionen términos de cómo se implementan y cómo se maneja la memoria. Aunque no creo en la optimización prematura, tengo la costumbre de considerar detenidamente el impacto en el rendimiento de...

92
_ (subrayado) es una palabra clave reservada

Acabo de reemplazar sla siguiente expresión lambda por _: s -> Integer.parseInt(s) El compilador de Eclipse dice: '_' no debe usarse como identificador, ya que es una palabra clave reservada desde el nivel de fuente 1.8 en adelante. No he encontrado ninguna explicación en JLS §3.9...

91
Advertencia de Cell-var-from-loop de Pylint

Para el siguiente 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 informó un error: Variable de celda sort_key definida en bucle (cell-var-from-loop) ¿Alguien podría dar una pista de lo que...

90
¿Qué es un lenguaje lambda?

Estaba leyendo "JavaScript: The Good Parts" y el autor menciona que JavaScript es el primero de los lenguajes lambda que se lanzará. Las funciones de JavaScript son objetos de primera clase con (en su mayoría) alcance léxico. JavaScript es el primer lenguaje lambda en generalizarse. En el...

89
¿Alguna razón para no usar lambdas globales?

Teníamos una función que usaba una lambda interna que no capturaba, por ejemplo: void foo() { auto bar = [](int a, int b){ return a + b; } // code using bar(x,y) a bunch of times } Ahora la funcionalidad implementada por el lambda se hizo necesaria en otros lugares, por lo que voy a sacar el...

88
Función que devuelve una expresión lambda

Me pregunto si es posible escribir una función que devuelva una función lambda en C ++ 11. Por supuesto, un problema es cómo declarar dicha función. Cada lambda tiene un tipo, pero ese tipo no se puede expresar en C ++. No creo que esto funcione: auto retFun() -> decltype ([](int x) ->...

87
Usando 'retorno' en un bloque Ruby

Estoy tratando de usar Ruby 1.9.1 para un lenguaje de scripting incrustado, de modo que el código de "usuario final" se escriba en un bloque Ruby. Un problema con esto es que me gustaría que los usuarios pudieran usar la palabra clave 'return' en los bloques, para que no tengan que preocuparse...