Preguntas etiquetadas con lambda

102
C ++ 0x lambda captura por valor siempre const?

¿Hay alguna forma de capturar por valor y hacer que el valor capturado no sea constante? Tengo un functor de biblioteca que me gustaría capturar y llamar a un método que no es constante pero que debería serlo. Lo siguiente no se compila, pero hacer foo :: operator () const lo soluciona. struct...

101
Cómo establecer el valor predeterminado de un campo de modelo de Django en una función llamada / invocable (por ejemplo, una fecha relativa a la hora de creación del objeto del modelo)

EDITADO: ¿Cómo puedo establecer el valor predeterminado de un campo de Django en una función que se evalúa cada vez que se crea un nuevo objeto de modelo? Quiero hacer algo como lo siguiente, excepto que en este código, el código se evalúa una vez y establece el valor predeterminado en la misma...

100
¿Por qué necesitamos fibras?

Para las fibras tenemos el ejemplo clásico: generación 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 qué necesitamos fibras aquí? Puedo reescribir esto con el mismo Proc (cierre, en realidad) def clsr x, y = 0, 1 Proc.new do...

99
Varias comprobaciones nulas en Java 8

Tengo el siguiente código que es un poco feo para múltiples comprobaciones nulas. String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s = str3; } else { s = str4; } Así que intenté usar Optional.ofNullablecomo se muestra a...

98
¿Cómo se implementa la función std ::?

De acuerdo con las fuentes que he encontrado, una expresión lambda es esencialmente implementada por el compilador creando una clase con el operador de llamada de función sobrecargado y las variables referenciadas como miembros. Esto sugiere que el tamaño de las expresiones lambda varía, y dadas...

95
Uso adecuado de Optional.ifPresent ()

Estoy tratando de comprender el ifPresent()método de laOptional API en Java 8. Tengo una lógica simple: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Pero esto resulta en un error de compilación: ifPresent(java.util.functionError:(186, 74) java: 'void' type...

93
¿Qué es esta 'Lambda' de la que todo el mundo sigue hablando?

¿Qué es esta 'Lambda' de la que todo el mundo sigue hablando? Parece que a mucha gente le encanta, pero todo lo que puedo deducir de él es que es solo una forma de agrupar muchas líneas de código en una sola expresión. ¿Puede alguien aclararme sobre su verdadero

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...