Consider adding decorators to work with generators
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- developer-experience
Piste de recherche
Commencez par reproduire les exemples avec le décorateur existant returns.result.safe et examinez la manière dont il gère le générateur numbers. Comparez ce comportement avec la sortie proposée de safe_iter ; c’est terminé lorsqu’un générateur décoré peut être parcouru et produit les objets Success attendus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
After think a lot about #355 it will be great to provide the same mechanisms we have to "normal" functions to generators!
It is not uncommon to see generators in many Python code, we use it when reading a file, iterating over Query objects and so on!
Today is impossible to work with generators using our current set of decorators like @safe:
>>> from typing import Generator
>>> from returns.result import safe
>>>
>>> def numbers() -> Generator[int, None, None]:
... for x in range(2):
... yield x
...
>>> for number in numbers():
... print(number)
...
0
1
>>> for number in safe(numbers)():
... print(number)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '_Success' object is not iterable
Expected behavior:
>>> from returns.result import safe_iter
>>>
>>> for number in safe_iter(numbers)():
... print(number)
...
<returns.result._Success object at X>
<returns.result._Success object at X>
- Langage dominant
- Python
- Étoiles
- 4.4k
- Forks
- 155
- Merge moyen
- 2 h 2 min
- PR mergées (30 j)
- 20
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de dry-python/returns
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
dry-python/returns#2394 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Composing 0-argument functionsOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
dry-python/returns#2365 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
dry-python/returns#2355 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
dry-python/returns#2295 · 4 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
dry-python/returns#2253 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de dry-python/returns
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
modelcontextprotocol/python-sdk#3648 ·
Les mainteneurs répondent en général sous 1 jour
-
docs good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
VenetoStato/giorgio#6 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Claiming namespace ddalusOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
EclipseFdn/open-vsx.org#13831 ·
Les mainteneurs répondent en général sous 1 jour