yield è (1) una parola chiave che facilita la creazione di funzioni del generatore, (2) un'istruzione Ruby per trasferire il controllo da una coroutine a un'altra, (3) un'istruzione Java utilizzata per produrre un valore da un'espressione switch.
Qual è l'uso di yield parola chiave in Python e cosa fa? Ad esempio, sto cercando di capire questo codice 1 : def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild E questo è …
Nella domanda Come posso esporre solo un frammento di IList <> una delle risposte aveva il seguente frammento di codice: IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } } Cosa ci fa la parola chiave yield? L'ho visto referenziato in un paio di posti e …
Sto facendo fatica ad avvolgere il mio cervello attorno al PEP 380 . Quali sono le situazioni in cui il "rendimento da" è utile? Qual è il classico caso d'uso? Perché viene confrontato con i micro-thread? [ aggiornare ] Ora capisco la causa delle mie difficoltà. Ho usato generatori, ma …
Sto sviluppando una console come script per esigenze personali. Devo essere in grado di mettere in pausa per un lungo periodo di tempo, ma, dalla mia ricerca, node.js non ha modo di fermarsi come richiesto. Sta diventando difficile leggere le informazioni degli utenti dopo un certo periodo di tempo ... …
Ho un IEnumerable<T>metodo che sto usando per trovare i controlli in una pagina WebForms. Il metodo è ricorsivo e sto riscontrando dei problemi nel restituire il tipo desiderato quando yield returnrestituisce il valore della chiamata ricorsiva. Il mio codice ha il seguente aspetto: public static IEnumerable<Control> GetDeepControlsByType<T>(this Control control) { …
Ho sentito parlare di una parola chiave "yield" in JavaScript, ma ho trovato una documentazione molto scadente al riguardo. Qualcuno può spiegarmi (o raccomandare un sito che spiega) il suo utilizzo e a cosa serve?
Dato questo codice: IEnumerable<object> FilteredList() { foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) yield return item; } } Perché non dovrei semplicemente codificarlo in questo modo ?: IEnumerable<object> FilteredList() { var list = new List<object>(); foreach( object item in FullList ) { if( IsItemInPartialList( item …
Ho la seguente funzione per ottenere errori di convalida per una carta. La mia domanda riguarda la gestione di GetErrors. Entrambi i metodi hanno lo stesso tipo restituito IEnumerable<ErrorInfo>. private static IEnumerable<ErrorInfo> GetErrors(Card card) { var errors = GetMoreErrors(card); foreach (var e in errors) yield return e; // further yield …
Ho un oggetto generatore restituito da resa multipla. La preparazione per chiamare questo generatore è un'operazione piuttosto dispendiosa in termini di tempo. Ecco perché voglio riutilizzare il generatore più volte. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y: print(x) …
Ho qualche esempio di codice Python che devo imitare in C ++. Non ho bisogno di alcuna soluzione specifica (come soluzioni di rendimento basate sulla co-routine, sebbene sarebbero anche risposte accettabili), ho semplicemente bisogno di riprodurre la semantica in qualche modo. Pitone Questo è un generatore di sequenze di base, …
So che non esiste un equivalente diretto in Java stesso, ma forse una terza parte? È davvero conveniente. Attualmente vorrei implementare un iteratore che restituisca tutti i nodi in un albero, che è di circa cinque righe di codice con rendimento.
Voglio eseguire un rendering condizionale a livello di layout in base al modello effettivo definito content_for(:an__area), qualche idea su come ottenerlo?
In Python, c'è qualche differenza tra la creazione di un oggetto generatore tramite un'espressione generatore e l'utilizzo dell'istruzione yield ? Utilizzando la resa : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Utilizzando l' espressione del generatore : def Generator(x, y): return ((i, j) for …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.