Preguntas etiquetadas con yield

rendimiento es (1) una palabra clave que facilita la creación de funciones generadoras, (2) una declaración de Ruby para transferir el control de una corrutina a otra, (3) una declaración de Java utilizada para producir un valor de una expresión de cambio.

829
¿Para qué se usa la palabra clave de rendimiento en C #?

En la pregunta Cómo puedo exponer solo un fragmento de IList <> , una de las respuestas tenía el siguiente fragmento de código: IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } } ¿Qué hace la palabra clave...

153
Restablecer objeto generador en Python

Tengo un objeto generador devuelto por rendimiento múltiple. La preparación para llamar a este generador es una operación bastante lenta. Es por eso que quiero reutilizar el generador varias veces. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y:...

117
Patrón generador de C ++ equivalente a Python

Tengo un código de Python de ejemplo que necesito imitar en C ++. No necesito ninguna solución específica (como soluciones de rendimiento basadas en co-rutinas, aunque también serían respuestas aceptables), simplemente necesito reproducir la semántica de alguna manera. Pitón Este es un generador...

82
Recursión usando rendimiento

¿Hay alguna forma de mezclar la recursividad y la yielddeclaración? Por ejemplo, un generador de números infinitos (usando recursividad) sería algo como: def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 Lo...

8
'rendimiento' dentro de un procedimiento recursivo

Digamos que tengo una lista de Python que representa rangos para algunas variables: conditions = [['i', (1, 5)], ['j', (1, 2)]] Esto representa que la variable ivaría de 1 a 5, y dentro de esa variable de bucle jvaría de 1 a 2. Quiero un diccionario para cada combinación posible: {'i': 1, 'j':...