Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Sven R. Kunze" Newsgroups: de.comp.lang.python Subject: Re: [Python-de] =?utf-8?q?Schleifen_die_ohne_Durchlaufen_des_Schleif?= =?utf-8?q?enk=C3=B6rpers_beendet_wurden?= Date: Sun, 10 Apr 2016 14:09:54 +0200 Lines: 48 Message-ID: References: <570A4292.60505@mail.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de iMUGdyg+pAaQuo1+0gwLBQf+1hQ5I2o7fQxybZIWZ54A== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mail201212; t=1460290197; bh=G25IP2IpUttgrxP/AQLB2rkCQgpUdHttFVSGsEtDdtU=; h=Subject:To:References:From:Date:In-Reply-To:From; b=LFFXdqjxPu8gRTScv0VRD2JC2UR76gOAZjJyMyogeA195yczWm+2edT8n7JSg4VtG g1G8GZUrHFdjDihvOABXXnoH2IdOZw5y7selJJPqkuiCgHuXsmYLqudZLE6M3hJcOJ LdHiGEmYdaZICynW5QTjXD0LIlkVyE7aqBtKx7uw= In-Reply-To: X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 1450 X-purgate-ID: 154282::1460290196-00000859-BE386EA1/0/0 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <570A4292.60505@mail.de> X-Mailman-Original-References: Xref: csiph.com de.comp.lang.python:4392 Hallo Marco, On 09.04.2016 07:59, Marco Bakera wrote: > Sven R. Kunze schrieb am 24.03.2016 um 20:53: >> neulich hatten wir wieder das Problem, dass wir gerne etwas in der >> folgenden Art uns gewünscht hätten: >> >> for item in collection: >> # do for item >> empty: >> # do when collection is empty > Könnte man das nicht mit einer IF-Abfrage lösen? Sicher, wie viele Sprachfeatures. :) > Warum muss es dafür eine spezielle Syntax geben? Kleine, nicht notwendigerweise vollständige, Zusammenfassung der bisherigen Diskussionsbeiträge: Dafür: 1) tritt recht häufig in bestimmten Anwendungsfeldern auf 2) andere Sprachen besitzen dieses Features 3) man kann ähnlich argumentieren wie bei "for-else" 4) alle bisher vorgestellten Lösungen funktionieren leider nicht 100% 5) je besser die Lösung, desto komplizierter und unwartbarer ist sie 6) Optimierer können besser mit Syntax-Semantik umgehen als mit einer handgehäkelten Lösung Dagegen: 1) fehlende sinnvolles Keyword: "empty" ist eher eine Variable, "else" ist leider vergeben 2) kompliziertere Sprache und erhöhte Wartung des CPython-Quelltexts Aus meiner Sicht umsetzbare und sinnvoll erscheinende Varianten: 1) verbleibendes Keyword: "not" 2) on-Syntax, vorgeschlagen von Thomas, wobei ich hier auf die korrespondierenden Exceptions lauschen würde anstelle die vorgeschlagenen Spezialkonstrukte zu definieren vG Sven