Un itérateur est un modèle de programmation orienté objet qui permet de parcourir une collection, indépendamment de l'implémentation réelle ou des adresses d'objet dans la mémoire physique. C'est l'un des modèles de conception comportementale du Gang of Four.

Plus à propos iterator...

J'utilise une classe Iterator pour générer une progression géométrique. Lorsque je compile le code, il s'exécute le nombre de fois correct, mais la valeur de mon itérateur ne change pas par rapport à la première valeur. Pour .......
17 mars 2021 à 01:57
L'extrait suivant montre le mappage d'un itérateur dans des threads et la collecte dans un Vec let workers = input .chunks (chunk_size) .map (| chunk | {let lines = chunk.iter (). Map (| .......
12 mars 2021 à 17:50
Problème - Lorsque je clique sur un bouton pour afficher le texte de la réponse, l'autre bouton s'ouvre également. Je souhaite que la réponse à chaque question ne soit ouverte que lorsque je clique dessus. Mon code - import React, { useState } from "react" const Questions = [ { question: "....
11 mars 2021 à 00:17
Je suis nouveau dans les générateurs et j'essaie de faire fonctionner le code ci-dessous où mon générateur doit envoyer un nombre aléatoire à ma fonction et vérifier s'il correspond à la cible et renvoyer le nombre de comptage pour faire cette correspondance, lorsque j'exécute le code justs arrête ....
11 mars 2021 à 00:10
Je crée une calculatrice qui peut accepter plus d'un opérateur à la fois (par exemple 5x5x5). J'ai une carte qui contient les positions des opérateurs, et de quel type ils sont (x / + -). J'ai aussi une boucle for .......
10 mars 2021 à 17:51
Disons que xpos est l'objet de retour de std::basic_string::find de type size_type, nous pouvons utiliser xpos pour accéder aux caractères dans un std::string par some_string[xpos], et xpos lui-même pourrait être utilisé pour représenter l'index d'un caractère dans une chaîne, nous pouvons aussi im....
7 mars 2021 à 20:32
J'ai un itérateur personnalisé et j'aimerais éventuellement appeler .skip(...) dans la méthode .next() personnalisée. Cependant, j'obtiens une erreur de type car Skip != Iterator. Un exemple de code est le suivant: struct CrossingIter<'a, T> { index: usize, iter: std::slice::Iter<'a, T>, } ....
6 mars 2021 à 06:25
Je veux utiliser std::copy sur un vecteur mais en copiant les éléments dans l'ordre inverse. Puisque vector::begin() renvoie un itérateur à accès aléatoire , cela semble fonctionner. Bien sûr, je pourrais utiliser std::reverse avant et après mais ce serait inefficace.....
5 mars 2021 à 11:18
J'ai une liste de fichiers dans le chemin, vers lesquels je veux créer des objets iter, afin que je puisse lire à partir de n'importe quel fichier à tout moment, pendant que tous les fichiers sont ouverts. Le nombre de fichiers dans le chemin est dynamique. filehandles = [] for filename in glob.glo....
5 mars 2021 à 01:37
class C: def __init__(self): self.ii={ 'c':0, 't':"kkk" } def __iter__(self): return self def __next__(self): if self.ii['c']>5: self.ii['c']=0 raise StopIteration self.ii['c']+=1 print(self.ii) return self.ii x=C() for i in x: pass print([i for i in x]) J'a....
27 févr. 2021 à 21:17
J'ai lu sur cppreference qu'avec C ++ 20, il est possible de omettez de spécifier les alias de type reference, pointer et iterator_category lors de la définition d'un nouvel itérateur. Dans ce cas, les alias correspondants dans std::iterator_traits auront des valeurs "par défaut". Les détails à c....
26 févr. 2021 à 18:59
Supposons que nous ayons un vecteur: let a = vec![1, 2, 3]; Quel est le moyen le meilleur et le plus court pour itérer sur les éléments pour que dans la première itération je reçoive un tuple de (1, 2), et dans l'itération suivante - (2, 3), jusqu'à ce qu'il n'y ait pas d'éléments, donc sans produ....
26 févr. 2021 à 15:40
J'ai suivi le cours de Masterclass de programmation Java de Tim Buchalka pour les développeurs de logiciels et j'ai modifié son programme à partir de la leçon 118. Je souhaite mettre à jour ma liste au moment de l'exécution en utilisant l'itérateur de liste (méthode de navigation). Le programme fon....
26 févr. 2021 à 12:23
Dans mon code, j'utilise la fonction prod () de Julia pour faire un produit sur les éléments d'une liste. Cependant, parfois cette liste est vide, auquel cas je veux que prod (myList) renvoie simplement 0 (ou n'importe quel nombre fixe comme 1). J'ai essayé une recherche en ligne, mais les seules ....
26 févr. 2021 à 09:59
Comment écrire une étape d'itération pour multiplier, diviser ou avoir une fonction d'itération personnalisée dans Kotlin? Je sais que je peux utiliser des boucles while à la place, mais les boucles for semblent plus restrictives dans leur portée que dans d'autres langues. Est-ce par conception? ....
Je veux une fonction qui modifie les éléments passés de type connu, correspondant aux données privées que nous parcourons dans une boucle externe en comparant chacun aux éléments passés. Les quantités sont petites, donc pas besoin de construire une carte ou d'optimiser la nature n² de celle-ci. En....
25 févr. 2021 à 07:57
J'espérais utiliser de nouvelles fonctionnalités C ++ 17 comme les expressions fold et std::apply() pour simplifier certains codes C ++ 11 dont je dispose qui utilisent des outils comme std::index_sequence et std::initializer_list pour certaines opérations sur les tuples. Une tâche en particulier ....
24 févr. 2021 à 21:47
Éditer Comme il semble d'après la solution suggérée, ce que j'essaie de réaliser semble impossible / pas de la bonne façon, par conséquent - je vais expliquer l'objectif final ici: J'analyse les valeurs de Foo à partir d'un fichier YAML en utilisant serde, et je voudrais permettre à l'utilisateur d'....
24 févr. 2021 à 18:41
Je voudrais trier un vecteur de structures, en utilisant une sorte de format de fermeture. Voici ce que je pensais: struct PointTracker {positif: u32, négatif: u32,} // .... fn main () {let .......
24 févr. 2021 à 05:31
Je veux rendre un générateur pour les voitures en cours de création. Le problème est que j'emboîte une API pour recevoir des couleurs aléatoires pour les voitures sur lesquelles je ne peux pas yield car elles ne sont pas déclarées comme fonctions génératrices. J'ai essayé de créer la référence en u....
24 févr. 2021 à 02:30
J'ai donc cette méthode qui est censée trouver des paires à l'intérieur d'une collection, pour cela j'utilise une boucle imbriquée . Cependant, j'obtiens toujours une exception de modification concurrente même si j'utilise un itérateur. Je suppose que les deux itérateurs itèrent sur la même coll....
23 févr. 2021 à 11:28
On m'a confié la tâche de créer une fonction identique à la suivante template <typename It> auto MakeSet(It range_begin, It range_end) { return set(range_begin, range_end); } Mais ce doit être un modèle qui reçoit des itérateurs (begin () et end ()) et retourne un vecteur avec les éléments de ....
22 févr. 2021 à 07:10
Supposons que j'ai la liste suivante: A = [1,2,3,4], en utilisant la fonction reduce, pour trouver le produit des éléments, je pourrais faire prodA = reduce(lambda x,y: x*y, A) Cependant, si j'ai une autre liste B=[9,8,7,6], est-il toujours possible pour moi d'utiliser la fonction reduce pour exécu....
21 févr. 2021 à 04:43
Quand j'ai essayé d'implémenter la SkipList par rust, j'ai été piégé par l'implémentation de Iterator de Rc<RefCell<T>>. Le code est répertorié: pub struct SkipList<K, V> { head: Rc<RefCell<SkipNode<K, V>>>, rng: rand::rngs::ThreadRng, len: usize, } impl<K: Ord, V> SkipList<K, V> { // .....
19 févr. 2021 à 17:26
Je voudrais créer un itérateur qui pour cette entrée: [1, 2, 3, 4] Contiendra les éléments suivants: (1, 2) (2, 3) (3, 4) Peekable semble idéal pour cela, mais je suis nouveau sur Rust, donc cette version naïve ne fonctionne pas: fn main() { let i = ['a', 'b', 'c'] .iter() .peekable(); ....
17 févr. 2021 à 03:15