Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #4397
| From | "Sven R. Kunze" <srkunze@mail.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Fwd: Re: Syntax-Erweiterung für Schleifen in Python3 |
| Date | 2016-04-11 22:25 +0200 |
| Message-ID | <mailman.35.1460406356.15650.python-de@python.org> (permalink) |
| References | <570AAE64.1030109@procoders.net> <570C084B.5050301@mail.de> |
On 10.04.2016 21:49, Achim Domma wrote:
> Ich würde gerne mal einen realen Anwendungsfall sehen. Zumindest ist
> das die Frage, die ich einem Kollegen stellen würde, der mit dem
> Problem auf mich zu kommt. Für mich "riecht" die Frage nach einem
> verstecken Workaround für ein anderes Problem.
Ich hatte das auf der englischen Liste hatte ich das reale Problem des
Kollegen so beschrieben:
- lasse dir von System A ein Objekt nach dem anderen geben und erzeuge
in System B eine Bestätigung für die Bearbeitung dafür
- falls System A dir gar kein Objekt liefert, erzeuge in System B eine
Art "gab nix"-Bestätigung
Ein reales Problem, beauftragt und bezahlt durch einen unserer Kunden
(SAP-System, Workflowsystem, etc.).
> Meiner Ansicht nach unterwandert die Fragestellung etwas das abstrakte
> Konzept eines Iterators. Eine Iterator liefert "on demand" Werte und
> eine For-Schleife verarbeitet sie "stupide" einen nach dem anderen. Die
> "Buchhaltung" ob der Iterator je ein Ergebnis geliefert hat,
> interessiert normal nicht, wird her aber gewünscht.
Das ist die eine Interpretation. Man kann es auch als
Kontrollflusssteuerung bezeichnen, so, wie das auch "for-else" macht.
> Meiner Ansicht nach ist die For-Schleife der falsche Platz.
Warum?
Weil man es im Iterator lösen KANN, heißt nicht, dass die Schleife der
falsche/richtige Platz ist.
> Ich würde das im Iterator lösen und hab' mal ganz auf die Schnelle
> folgendes zusammengehackt:
> [schnippeldischnipp]
Interessante Idee. Auf der englischen Liste hatte jemand folgendes
(quasi eine Syntax für deinen Wrapper) vorgeschlagen:
for item in collection as iterator:
# do
if iterator.empty:
# make
Zugegebenermaßen würde diese Art der Lösung eine gewisse
Flexibilisierung erlauben; bspw. das Trennen von for-Schleife und if-empty.
Allerdings kann man das auch als Schwäche der Lösung interpretieren,
wenn die Trennung nicht wirklich sinnvoll sein kann. Dies ist der Fall,
wenn die Prüfung, ob der Iterator leer war, erst am
Sankt-Nimmerleins-Tag stattfindet und somit der konkrete Bezug verloren
geht.
Für das, was ich bisher gesehen habe, wäre eine Trennung NICHT notwendig
gewesen, aber man weiß ja nie. Von daher hätte ich auch nichts dagegen.
vG
Sven
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Fwd: Re: Syntax-Erweiterung für Schleifen in Python3 "Sven R. Kunze" <srkunze@mail.de> - 2016-04-11 22:25 +0200
csiph-web